小编典典

“git pull --all”可以更新我所有的本地分支吗?

all

我经常有至少 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”,然后更新(快进或合并)当前工作分支,而不是其他本地分支。

我仍然坚持手动切换到每个本地分支并进行更新。


阅读 118

收藏
2022-03-10

共1个答案

小编典典

您描述的行为pull --all完全符合预期,但不一定有用。该选项被传递给 git fetch,然后它从所有远程获取所有
refs,而不仅仅是需要的;pull然后合并(或在您的情况下,变基)适当的单个分支。

如果你想查看其他分支,你将不得不查看它们。是的,合并(和变基) 绝对
需要一个工作树,所以如果不检查其他分支就无法完成。如果你愿意,你可以将你描述的步骤包装成一个脚本/别名,但我建议加入这些命令,&&这样如果其中一个失败,它就不会尝试继续下去。

2022-03-10