[英]Rebase and changing branch is including all merged commits in pull request
我来自SVN背景。 我已经分叉并分支了一个git存储库。 然后,我更改了分支(将其称为my-branch
),进行了提交,推送并发送了请求请求。
发生上游存储库已更改,并且由于主更改产生冲突而导致我的PR无效的情况。
我应该如何重新建立分支机构基础以解决冲突并更新PR?
我尝试从上游主机到本地主机获取更改,然后将分支重新定位到本地主机:
git checkout master
git fetch upstream
git merge upstream/master
git push origin master
git checkout my-branch
git rebase master
问题是,当我解决冲突并提交/推送更改时,上游的所有提交也都包含在PR中,就像我做了这些更改一样。 因此,再次, 我该如何真正真正地“重建”分支和PR,以便我可以安全地更改并仅将更改过的文件提交给PR?
让我们有这些约定:
upstream
是分支项目的远程名称 origin
是您的github fork的远程名称 这是使用upstream/master
新提交更新功能分支的正确流程:
git checkout my-branch
//切换到功能分支 git fetch --all
//从所有声明的远程获取新的提交 git rebase upstream/master
//将功能分支重新建立到上游/ master的最后一次提交 git push -f origin my-branch
//覆盖您的远程my-branch
(由于重新编写重写,因此必须提交) 您的PR应该使用my-branch
的新提交进行更新
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.