Menu
Coddy logo textTech

Git Pull

最終更新

git pull は、現在のブランチをそのリモートの最新コミットで更新します。内部では、変更をダウンロードするために git fetch を実行し、続いてそれらを統合するために git merge を実行します。つまり git pull = git fetch + git merge です。マージコミットを作る代わりにローカルコミットを上に再適用するには --rebase を追加します。

これらをターミナルプレイグラウンドで試してみましょう。ブラウザ上の本物のシェルで、インストールは不要です。

git pull はリモートの新しいコミットをダウンロードして現在のブランチにマージします。fetch + merge を 1 ステップで行います。

構文

CommandWhat it does
git pull現在のブランチのリモートを取得してマージする
git pull origin mainリモートから特定のブランチを取得する
git pull --rebase取得してから、あなたのコミットを上にリベースする
git pull --ff-onlyfast-forward できる場合のみ取得する(マージなし)
git pull --no-rebaserebase がデフォルトでも強制的にマージする

よくあるケース

GoalCommand
ブランチの最新を取得するgit pull
履歴を線形に保つgit pull --rebase
競合が発生した pull を中止するgit merge --abort
ローカルコミットを破棄してリモートに合わせるgit fetch の後 git reset --hard origin/main

git pull のよくある質問

git pull は実際に何をしますか?
現在のブランチについてリモートから最新のコミットをダウンロードし、ローカルブランチに統合します。これは2つのコマンドの短縮形です。git fetch(ダウンロード)に続いて git merge(統合)です。設定すれば、マージのステップは代わりにリベースになります。
git pull と git fetch の違いは何ですか?
git fetch はリモートの変更をダウンロードしてリモート追跡ブランチを更新するだけで、作業ブランチには触れません。git pull はその fetch を行い、続いて変更を現在のブランチにマージします。まず受信した変更を確認するには fetch を、1ステップで取得して統合するには pull を使いましょう。
git pull --rebase とは何で、いつ使うべきですか?
git pull --rebase はリモートのコミットを取得し、マージコミットを作る代わりに、あなたのローカルコミットをそれらの上に再適用します。履歴を線形に保つため、多くのチームがこれを好みます。まだプッシュしていないローカルコミットがあり、pull のたびにマージコミットが作られるのを避けたいときに使いましょう。
git pull の後の競合はどう解決しますか?
ローカルとリモートの変更が重なると、pull はマージ競合を引き起こすことがあります。競合したファイルを開いてマークされた部分を解決し、それらを git add してから git commit(マージの場合)または git rebase --continue(リベースの pull の場合)を実行します。取りやめたい場合は git merge --abort または git rebase --abort を実行してください。
これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ上の本物のシェルで git pull を実行でき、インストールは不要です。Coddy の無料のインタラクティブな Git コースでも、リモートの扱い方を段階的に学べます。
Coddy programming languages illustration

Coddy で Git を学ぼう

始める