リモートの変更を取り込む - git pull
リモートから変更を取得してマージします。
概念図
構文
bash
git pull [<remote>] [<branch>]使用例
現在のブランチを更新
bash
git pullリベースで統合
bash
git pull --rebasefetch + merge / rebase との対応
git pull は便利ですが、内部的には git fetch の後にマージまたはリベースを実行しているだけです。
通常の
git pullgit pull --rebasegit fetch origin→git rebase origin/mainと同等です。履歴を直線的に保ちたいときに使います。
リモートの変更内容を確認してからマージしたい場合は、git pull 一発ではなく git fetch で分けて実行すると安全です。
pull によって意図せずマージコミットが作られる問題とその対処法は、ガイド pull で不要なマージコミットができてしまう問題 を参照してください。
注意点
未コミットの変更がある状態で pull しない
実行する前に、作業中の変更がある場合はコミットするか
git stashで退避してください。未コミットの変更がある状態で pull すると、コンフリクトが発生したり、変更が失われたりする可能性があります。--rebaseはプッシュ済みコミットに使わない--rebaseオプションは履歴をきれいに保てますが、まだプッシュしていないローカルコミットがある場合にのみ使用してください。既にプッシュ済みのコミットをリベースすると、チームメンバーに影響を与えます。pull.ff only設定で事故を防ぐgit config --global pull.ff onlyを設定しておくと、fast-forward できない pull はエラーになります。意図しないマージコミットの混入を防げます。
Git Ready