我正在处理一个功能分支,一旦我的请求被接受,最终会合并到origin/develop
。
在将我的分支推到原点之前,我跑了:
$ git pull origin develop
将我的更改推送到origin/<feature-branch>
后,Github说它&#34;无法自动合并&#34;并且这个分支是&#34; 3提交,12个提交后面开发&#34;。
我做错了什么,如何在推送我的更改之前确保我的本地分支与origin/develop
保持同步,以便可以快速合并?
工作流
1)$ git clone <origin-url>
2)$ git checkout <feature-branch>
3)对代码进行更改,暂存和提交
4)$ git checkout develop
5)$ git pull origin develop
6)$ git checkout <feature-branch>
6)$ git push origin <feature-branch>
答案 0 :(得分:1)
这意味着如果没有上游所有者必须解决合并冲突,您的拉取请求就无法合并到上游。
此处的解决方案是让您从上游进行提取,然后解决上游的合并冲突。此时,如果您理论上解决了来自上游的冲突然后创建了拉取请求,则上游将能够自动合并您的拉取请求而不会发生任何冲突(前提是您在本地解析上游之间没有上游提交合并冲突并合并到本地/ fork,然后创建拉取请求。)
<强>解决方案强>:
在Github中选择分支选项卡,单击合并视图按钮,将您的头叉拖到左侧框,将基叉拖到右侧框。单击“合并分支”按钮。选择更改选项卡。选择每个有冲突的文件。请参阅“<<<<<<<
”在外部查看器中编辑文件以保留headfork代码并将其添加到其中。单击文件上的保存。单击“提交到”按钮。点击同步。转到Git网站,尝试再次将基础分支合并到head fork。它不应再显示原始消息
答案 1 :(得分:1)
使用“git pull origin develop”,您只需将远程开发分支的最新更改提取到本地开发分支,您就不会将最新更改合并到功能分支中。您必须使用git merge:
在本地执行此操作git merge develop
答案 2 :(得分:1)
你可能需要做两件你目前没做的事情:
(可选)像Patrick说的那样,合并发展成功能分支。这将使您的分支机构快速发展,就像您想要的那样。无论如何,这是一种很好的做法,可能会受到团队工作流程的强制要求。
在推动之前拉动功能分支。这可能是给你错误的原因。在合并开发之前我会拉。