我经常有至少 3 个远程分支:master、staging 和 production。我有 3 个本地分支来跟踪这些远程分支。
更新我所有的本地分支很乏味:
git fetch --all git rebase origin/master git checkout staging git rebase origin/staging git checkout production git rebase origin/production
我很想能够做一个“git pull -all”,但我无法让它工作。它似乎做了一个“fetch –all”,然后更新(快进或合并)当前工作分支,而不是其他本地分支。
我仍然坚持手动切换到每个本地分支并进行更新。
您描述的行为pull --all完全符合预期,但不一定有用。该选项被传递给 git fetch,然后它从所有远程获取所有 refs,而不仅仅是需要的;pull然后合并(或在您的情况下,变基)适当的单个分支。
pull --all
pull
如果你想查看其他分支,你将不得不查看它们。是的,合并(和变基) 绝对 需要一个工作树,所以如果不检查其他分支就无法完成。如果你愿意,你可以将你描述的步骤包装成一个脚本/别名,但我建议加入这些命令,&&这样如果其中一个失败,它就不会尝试继续下去。
&&