我经常至少有3个远程分支机构:主分支,临时分支和生产分支。我有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”,但是我还没能使它工作。它似乎在执行“获取-全部”操作,然后更新(快进或合并)当前工作的分支,而不更新其他本地分支。

我仍然停留在手动切换到每个本地分支和更新上。

最佳答案

您为pull --all描述的行为与预期的一样,尽管不一定有用。该选项被传递给git fetch,然后git fetch从所有远程获取所有ref,而不仅仅是所需的ref。然后pull合并(或重新设置基准)相应的单个分支。

如果要 checkout 其他分支,则必须 checkout 。是的,合并(和重新定级)绝对需要一个工作树,因此,如果不 checkout 其他分支就无法完成它们。如果愿意,您可以将描述的步骤包装到脚本/别名中,尽管我建议将命令与&&结合使用,以使其中之一失败时,它不会尝试继续下去。

关于git - “git pull --all”可以更新我的所有本地分支吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/620650/

10-13 05:15
查看更多