(現在) 3 つのブランチを持つ git リポジトリがあります。
head
安定版です( git と混同しないでくださいHEAD
)experimental
実験的なコードです。コンパイルするはずですnorman
私のサンドボックスです。その中のコードが壊れている可能性があります
「マスター」git リポジトリは、バックアップされたファイル サーバー上にあります。しかし、ローカル ディスク、自宅のマシン、およびラップトップにレプリカがあります。(いつでもどこでもコードを書く準備ができています)。
git branch -a
ショー:
experimental
head
* norman
tufts/HEAD
tufts/experimental
tufts/head
tufts/norman
Tufts ブランチは、「マスター」レポのリモート ブランチです。ローカル ブランチは追跡する必要があります。git config -l | grep -w remote
言います:
remote.tufts.url=linux.cs.tufts.edu:/r/ghc/git/experimental.git
remote.tufts.fetch=+refs/heads/*:refs/remotes/tufts/*
branch.experimental.remote=tufts
branch.head.remote=tufts
branch.norman.remote=tufts
これが私の質問です。単一の git コマンドを使用して、
リモートのブランチからすべてのローカル ブランチを同時に更新するにはどうすればよいですか? git-fetch
うまくいきません。各リモートブランチの内容について知っていることを更新しますが、それらをローカルにマージしません。そして明らかにgit-pull
、現在チェックアウトされているブランチのみを更新します。一度にすべてのブランチを更新したい。それはできますか?
(私は夢中ではありません
for i in `git branch | sed 's/^.//'`; do git checkout $i ; git pull; done
部分的には、これがすべて進行している間に作業ディレクトリ内の変更されたファイルに何が起こるかが明らかではないため、部分的には、現在どのブランチに関する情報を保存および復元するためにさらに多くのシェルコードが必要になるためです.)
私は1つの(あまり密接に関連していない)質問を見つけました:
- リモート ブランチの追跡について