別のレポジトリから変更を取得して、ローカルブランチに統合します。
git pullの概要
リモートレポジトリから変更内容をローカルに取得し、現在のブランチに取り込みます。通常「git pull」は「git fetch」と「git merge」「FETCH_HAED」のショートハンドとして動作します。
すなわち、git fetchを与えられてパラメータで実行した後、そのまま取得したブランチを現在のブランチにマージします。
使用例
origin から、masterブランチを取得し、現在のローカルブランチにマージします。
git pull origin master
もしmasterの上流ブランチにorigin/master が設定されていれば、下記のように省略して実行できます。
git pull
関連するGitコマンド
git fetch
リモートから変更内容を取得します。git pull と異なり、merge を実行しないので、ローカルレポジトリのリモート追跡ブランチだけが更新されます。例えば、チーム内の共有リポジトリの最新状態を取得するため、その日の仕事の始まりにまず実行する、といった類のコマンドです。
git merge
もし git fetch によってリモートの最新が取得できているなら、後は git merge を使って手動でマージしても良いでしょう。
その他のオプション
git pullで利用可能な主なオプション
オプション | 詳細 |
--no-commit | マージ後のコミットを実行せず、作業ツリーとインデックスの更新で中断します。その後コミット内容を確認したり、調整したい時に使います。 |
--no-ff | マージが早送り(fast-forward)マージだとしても、参照の移動とせず、必ず1つの新しいマージコミットを作成します。 |
-r --rebase |
git fetchの後、マージでなく、リベースを実行します。変則的な操作なので、あえてgit pull --rebase でなく、fetch とrebaseコマンドに分けて実行しても良いかもしれません。 |
-a --all |
すべてのリモートから変更を取得します。 |
Git公式ドキュメント
Git公式ドキュメント「git pull」へのリンクです。