21


0

すべてのローカルgitブランチをリモートブランチから同時に簡単に更新できますか?

私は(現在)3つのブランチを持つgitリポジトリを持っています。

  • head`は安定版です(git HEAD`と混同しないでください)

  • 実験的コードは実験的コードです。コンパイルすることになっています

  • `norman`は私のサンドボックスです。その中のコードが壊れている可能性があります

"master" gitリポジトリはバックアップされたファイルサーバー上にあります。 しかし、私はローカルディスク、自宅のマシン、そして私のラップトップにレプリカを持っています。 (私はいつでもどこでもコードを書く準備ができています)。

`git branch -a`は次のことを示します。

  experimental
  head
* norman
  tufts/HEAD
  tufts/experimental
  tufts/head
  tufts/norman

タフツ支店は、「マスター」レポの遠隔支店です。 地元の支店は追跡することになっています。 `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

これが起こっている間に私の作業ディレクトリで変更されたファイルがどうなるかは私には明白ではないし、そして現在私が現在どのブランチにいるのかに関する情報を保存して復元するためにもっとシェルコードが必要だから)

私は一つの(あまり密接に関連していない)質問を見つけました:

0 Answer