GitHubを使用したバージョン管理は以下の流れで行う。「ワークツリー」が実際の作業ファイルが保存されている作業ディレクトリ、「リポジトリ」がコミット(変更履歴)を記録する場所、「インデックス」が「ワークツリー」と「リポジトリ」の中間層となる。複数人でリポジトリを共有したい場合はリモートにリポジトリを作成し共有する。
ローカルリポジトリの作成 – git init
ローカルリポジトリの作成は「git init」で行う。git init コマンドで、カレントディレクトリがリポジトリとなる。
# ホームディレクトリに /git/test を作成 $ mkdir ~/git/test # testディレクトリに移動 $ cd ~/git/test # ローカルリポジトリ作成 $ git init Initialized empty Git repository in /Users/hoge/git/test/.git/
インデックスに登録 – git add
「git add ファイル名」でファイルを登録することができる。スペース区切りで複数ファイルを指定することで、複数のファイルを一度にインデックスに登録できる。
# test.txt をインデックスに登録 $ git add test.txt
ブランチとインデックスの確認 – git status
「git status」でローカルリポジトリでどのブランチを使用しているか、また、インデックスの状況を確認することができる。
$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: test.txt #
変更をリポジトリに記録する – git commit
インデックスに登録した変更をリポジトリに記録するために「コミット」と呼ばれる操作を行う。コミットは「git commit」で行う。-m オプションを付けることでそのコミットに対するメッセージを指定することができる。
# First commit. というメッセージとともにコミット # test.txt の追加を test リポジトリに記録する $ git commit -m "First commit."
リモートリポジトリの登録 – git remote add
複数人でリポジトリを共有する場合、リモートにリポジトリを作成し、そこにプッシュ(アップロード)、プル(ダウンロード)することでリポジトリを共有することができる。
「git remote add 名前 URL」でリモートリポジトリを登録する。「名前」の部分は一般的に「orgin」が指定される。これで次回からプッシュ、プルを行う場合は自動的にこのリモートリポジトリが利用される。
# GitHub上でリポジトリを作成するとどのURLを指定すれば良いか指定されるのでそれを指定する。 # ここではGitHub上に test というリポジトリを作成した場合を想定する。 $ git remote add origin https://github.com/inc2734/test.git
リモートリポジトリに変更をプッシュする – git push
「git push リポジトリ ブランチ名」でリモートリポジトリに変更を記録できる。「-uオプション」でブランチ名を指定すれば、次回以降、そのブランチが自動的に指定される。
# git remote add で指定したリポジトリのmasterブランチに変更を記録する $ git push -u origin master