Help us understand the problem. What is going on with this article?

初心者のGit, GitHub

More than 1 year has passed since last update.

1. 目的

ソースコード整理のためにGitとGitHubを利用することにしたので、初心者向けのGitコマンド等を初心者レベルでまとめました。(備忘録も兼ねています)
間違っている部分や言葉が足りない部分があればご教示ください。

2. Git, GitHub

  • Git https://git-scm.com/

    • 「分散型バージョン管理システム」
    • ローカルのPCで編集作業を行い、ファイルの修正履歴も管理できる。
  • GitHub https://github.com/

    • 「ソフトウェア開発プラットフォーム」
    • Gitを用いてソースコードを管理するための共有ウェブサービス。

3. 環境構築

3-1. バージョン確認

$ git --version
git version 2.18.0.windows.1

3-2. ユーザ名とメールアドレスの設定

$ git config --global user.name 【ユーザー名】
$ git config --global user.email 【メールアドレス】

$ git config --list    //設定の確認
user.name=【ユーザー名】
user.email=【メールアドレス】
...

4. GitHub使用

4-1. Gitの作業ディレクトリ作成

$ mkdir git
$ cd git

4-2. リポジトリをローカルにクローンする

リモートリポジトリの内容をローカルにクローンする。

リポジトリ:データを保存する場所。
リモートリポジトリ:サーバに保存され、共有されるリポジトリ。
クローン:リモートリポジトリを複製すること。

$ git clone git@github.com:【ユーザー名】/【リポジトリ名】.git
Cloning into '【リポジトリ名】'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

クローンが完了し、リモートリポジトリの内容がローカルにコピーされている。
次に、ローカルリポジトリに移動する。

$ cd 【リポジトリ名】

4-3. リポジトリのブランチ

作成時のリポジトリにはmasterブランチのみが存在する。

$ git branch
* master

4-4. 作業ブランチの作成

$ git branch new_branch    // new_branchという名前のブランチを作成
$ git branch
* master
  new_branch

アスタリスクがついているブランチは現在選択中のブランチ。
new_branchブランチに移動する。

$ git checkout new_branch
Switched to branch 'add-new-file'
$ git branch
  master
* new_branch

※参考:Gitのブランチの切り方はGitHub Flowのワークフローを採用

4-5. ファイルを追加してコミット

例えるならメールの下書き保存。

新規ファイル(今回はsample.txt)はコミットする前にaddする必要がある。

$ git add sample.txt
$ git status
On branch new_branch
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   sample.txt

sample.txtがコミットされていないのでコミットさせる。

$ git commit -a
$ git status
On branch add-new-file
nothing to commit, working tree clean

-a:ここまでのすべての修正をコミットさせる

コミット:修正内容をローカルリポジトリに反映すること。

この段階で、ローカルでコミットが完了。

※参考
git addで変更されたファイルをステージングエリアに追加する方法【初心者向け】
git commitを使って変更内容をコミットする方法【初心者向け】

4-6. GitHubへプッシュする

プッシュ:ローカルリポジトリの内容をリモートリポジトリに反映すること。例えるならメールの送信。

$ git push origin new_branch
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 319 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:github-sample/test.git
 * [new branch]      new_branch -> new_branch

※参考
git pushを使ってリモートリポジトリへプッシュする方法【初心者向け】

5. 参考

tcb78
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away