git fetch の使い方

リモートの変更を取ってくる

書き方

git fetch [リモート]
git fetch --all --prune

リモートの新しいコミットを取ってきて origin/main などを更新します。自分のブランチはまだ変わりません。

よく使うオプション

オプション意味
--allすべてのリモートから取ってくる
--pruneリモートで消えたブランチを、手元の origin/… からも消す
--tagsタグも取ってくる

例

$ git fetchFrom github.com:example/app
   9c1e2f4..b3c4d5e  main       -> origin/main

origin の新しいコミットを取ってきて、origin/main などを更新します。自分のブランチはまだ変わりません。

$ git log --oneline HEAD..@{u}

fetch のあとに、リモートにだけあるコミットを確かめます。取り込む前に中身を見られます。

$ git fetch --all --prune

すべてのリモートから取ってきて、消えたブランチの名残も片付けます。

$ git fetch upstream

フォーク元(upstream)の新しいコミットを取ってきます。

よくある間違い・注意

  • fetch だけでは作業ツリーは変わりません。取り込むには git pull をするか、git merge で origin のブランチを合わせます。

実際に打って練習する

Git コースの Lv33「様子を見る git fetch」で覚えます(第5章 遠征隊(リモート))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Git コマンド一覧(使い方と例)へ戻る