よく分かるGit入門

実践で役立つ、分かり易いGitコマンド解説。

git pull

別のレポジトリから変更を取得して、ローカルブランチに統合します。

git pullの概要

リモートレポジトリから変更内容をローカルに取得し、現在のブランチに取り込みます。通常「git pull」は「git fetch」と「git merge」「FETCH_HAED」のショートハンドとして動作します。

すなわち、git fetchを与えられてパラメータで実行した後、そのまま取得したブランチを現在のブランチにマージします。

使用例

origin から、masterブランチを取得し、現在のローカルブランチにマージします。

もしmasterの上流ブランチにorigin/master が設定されていれば、下記のように省略して実行できます。

関連する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」へのリンクです。