Git4 択難易度 標準

git fetch origin を実行した直後、作業ツリーのファイルが変わらないのはなぜ?

正答

  1. fetch は接続確認だけを行い、何も取得しないから
  2. fetch した内容は次回の commit 時に反映されるから
  3. fetch はリモートの履歴を取得するだけで、ブランチに取り込まないから
  4. リモートに新しいコミットが無かったから

解説

git fetch はリモートの新しいコミットをダウンロードし、origin/main のようなリモート追跡ブランチを更新する。現在のブランチや作業ツリーには触らないので、取り込むには git merge origin/main か、fetch と merge を一度に行う git pull を使う。接続確認だけではなく実際にデータを取得している。fetch 後に git log main..origin/main で何が来たか確認してから取り込むと、安全に更新を把握できる。

参考: git-scm.com

fetchpullremote

この問題を含む Git のテストを制限時間つきで解く

Gitクイズへ