21

(現在) 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つの(あまり密接に関連していない)質問を見つけました:

4

0 に答える 0