basyura's blog

あしたになったらほんきだす。

git fetch は要らないと思っていた

リモートにある新しい資源が欲しいなら pull すればいいじゃん。fetch だけじゃ資源が置き換わらないから手間じゃん?そう思ってた。複数のブランチを頻繁に行き来するようになるまでは。

pull → fetch + merge
  • fetch ・・・ リモートから資源を取ってくる
  • merge ・・・ ローカルにリモートの資源をマージする。手元に変更がある場合はマージコミットが作られる。

こんな時に便利。

feature ブランチで開発していて 分岐元の最新資源に対して reabse したい場合。

  • わざわざ checkout 済みのブランチに切り替えて pull した後に元のブランチに戻る必要がない。

feature ブランチで開発していて分岐元や他のブランチの最新資源とのグラフを見たい場合。

  • わざわざ checkout 済みのブランチに切り替えて pull した後に元のブランチに戻る必要がない。

feature ブランチで開発していて別のブランチの資源やログを見たい場合

  • わざわざ(略

ということで、fetch べんり。

リモート追跡ブランチは、リモートブランチの状態を保持する参照です。 ローカルに作成される参照ですが、自分で移動することはできません。ネットワーク越しの操作をしたときに自動的に移動します。 リモート追跡ブランチは、前回リモートリポジトリに接続したときにブランチがどの場所を指していたかを示すブックマークのようなものです。
Git - リモートブランチ