pullコマンドは他のリポジトリのデータを取得するものだ。
Gitのpullコマンド
このコマンドは、他のリポジトリ(リモート・リポジトリなど)のデータを取得し、ローカルのブランチに統合するものだ。
このコマンドが実行されると、リモート・リポジトリからの変更が現在のブランチに組み込まれる。
コマンドの基本は簡単だ。
git pull [リポジトリ] [ブランチ]
では、実際の使い方を見てみよう。
リモート・リポジトリをpullする場合
例えば、リモート・リポジトリをクローンしたローカルのリポジトリがあったとする。クローンした時点では、リモートと同じ内容のものがそっくりローカルにコピーされる。次の図は、V0から始まったリモートのリポジトリがV1の時点でクローンされた時の様子を表している。
この時点までの変更の記録はローカルもリモートも同じなので、ローカルの変更履歴がリモートの変更履歴でもある。
しかし、ローカルでV1に変更を加えたV2が記録され、続いてリモートでもV1が変更されたV3が記録されるとどうなるだろう。クローンされた後は、別々に変更の記録が独立して行われることになる。
ローカルで変更の記録を確認(git log)すると、
ローカルにはV3がないことが分かる。つまりローカルとリモートには違いがあると言うことだ。そこで、リモートの変更をローカルに反映させたいとする。
ここで、pullコマンドの出番だ。
リモートのリポジトリの名前は、クローンした時点で自動的にoriginという名前になっている。それで、originという名前を指定して、
$ git pull origin master
と、コマンドを叩けばOKだ。
コマンドが実行されると、ローカルにリモートの変更内容がマージされる。そして、新しいタグ(ここでは、V4)が追加される。
では、ローカルにリモートの変更が反映された履歴を見てみよう。
$ git log
と、コマンドを叩けばOKだ。
今度は、ローカルの履歴にリモートのV3とローカルの新たなタグV4の変更履歴が追加されている。
まとめ
このページではGitのpullコマンドについて簡単にご紹介した。Gitを使いこなすために参考にしていただければと思う。