这就是目前的情况。回购有一个公共<master>
,然后有一个公共<team1>
分支:
o <-- master
\
o <-- team1
这两个分支都被认为是公共的。
在使用亚特兰西恩存储库时,我们希望使用已交付给<team1>
的最新版本更新<master>
分支,因此我们创建了一个拉请求。源是<master>
,目标是<team1>
。
但是,在执行此操作时,亚特兰西安存储显示,由于冲突,不能合并它,下面是如何解决拉请求的这些冲突:
但是本指南将导致您将合并冲突推到<master>
中。为什么?
<master>
和<team1>
分支的设置是否错误,并且使用了拉请求?
解决<team1>
分支中的任何冲突,完全不修改<master>
(直到<team1>
将其交付给<master>
),难道不是更有意义吗?
发布于 2014-08-12 19:58:04
这是因为任何git请求都基于合并冲突总是在源分支中解决而不是在目标分支中解决的原则。通常,目标分支是一个以上的人集成他们的代码基的地方,因此解决源分支中的任何冲突都比在目标分支中解决冲突更有意义。
如果您想绕过这个问题,您可以签出分支并从主处执行一个git分支,并解决分支中的冲突并将它们向上推高。
发布于 2014-08-19 00:44:33
拉请求通常表示您希望您的代码“面向生产”合并,而存储的指令基于这种情况下的冲突解决方案。
与创建一个从主服务器更新特性分支的请求不同,只执行合并并解决出现的任何冲突就更简单了。
我是藏品公司的产品经理,这不是我第一次看到这样的事情发生。我正在考虑让人们走在最安全的道路上的最佳方法,并确保给出的指导是有意义的(无论是避免不必要的请求,还是优雅地处理不寻常的请求)。
https://stackoverflow.com/questions/25266902
复制相似问题