首页 > 解决方案 > 所有分支的 Git 拉取

问题描述

所以我是 Git 的新手,并且有一个关于在将代码推送到主分支后更新我的分支的问题。如果我的本地机器上有我的master, branch A,branch B分支,并且在 GitHub 存储库上有一个带有新提交的主分支,我如何更新我的所有 3 个分支?

我是否需要git pull在所有 3 个分支中执行(后续操作,如果我在所有分支中执行 git pull,当我发出拉取请求时,我拉branch A取的分支中已经存在的所有文件master是否也会显示在 PR 中?我怎样才能避免这种情况?)

谢谢!

标签: gitgithub

解决方案


因此,如果我让你正确,你就会远离master导致branch Aand branch B。同时master,您希望进行一些更改Rebase。因此,您基本上会结帐branch A,然后按照链接中的建议运行变基

git checkout B
git rebase --interactive master

这将在branch B您拥有的内容之上添加新的提交master。另请参阅https://www.atlassian.com/git/tutorials/merging-vs-rebasing中的图片

变基的图形表示

之后,您必须强制将更改推送到远程仓库。

强制推送具有严重的影响,因为它改变了分支的历史提交顺序。谨慎使用它,尤其是当您的存储库被多人访问时。


推荐阅读