我可以轻松地同时从远程分支更新所有本地git分支吗?

Nor*_*sey 21 git version-control branch

我有一个git存储库(目前)有三个分支:

  • head是稳定的版本(不要与git混淆HEAD)
  • experimental是实验代码; 它应该编译
  • norman是我的沙箱; 其中的代码可能会被破坏

"master"git repo位于备份的文件服务器上.但我在本地磁盘,家里的机器和笔记本电脑上都有复制品.(我准备随时随地编写代码).

git branch -a 说明:

  experimental
  head
* norman
  tufts/HEAD
  tufts/experimental
  tufts/head
  tufts/norman
Run Code Online (Sandbox Code Playgroud)

塔夫茨分支机构是"主"仓库的远程分支机构.本地分支机构应该跟踪; 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
Run Code Online (Sandbox Code Playgroud)

这是我的问题:如何使用单个git命令同时更新远程对应的所有本地分支git-fetch并不是很有效; 它更新它对每个远程分支的内容的了解,但它不会将它们合并到本地.并且显然git-pull只更新当前已检出的分支.我想立刻更新所有分支机构.可以吗?

(我并不狂热

for i in `git branch | sed 's/^.//'`; do git checkout $i ; git pull; done
Run Code Online (Sandbox Code Playgroud)

部分是因为我不清楚工作目录中修改过的文件发生了什么,而这一切都在继续,部分是因为我需要更多的shell代码来保存和恢复有关我目前所在分支的信息.)

我找到一个(不是非常密切相关)的问题: