[英]Building Feature Branches using BitBucket and Jenkins and MSBUILD
[英]bitbucket - solve conflicts and preserve atomic feature branches
鉴于以下git工作流程:
根据解决该冲突的文档,这意味着将release-branch-1.xx (包含fb1代码)本地合并到fb2中 ,确定要保留的内容(解决冲突),然后将fb2推送到远程以更新请求请求。
这可以解决冲突,但是将在release-branch-1.xx上的所有工作添加到fb2中 ,这是我要避免的事情。 假设我要还原fb1合并提交,则fb1代码仍将在release分支上,因为它是fb2引入的。
关于如何避免这种情况的任何想法?
在大多数工作流程中,每个功能分支的所有者负责使分支保持最新状态,无论“正式”代码行是什么(为了尽可能通用,我将称其为集成分支母版。开发,发布或在各种工作流程中使用其他名称)。 因此,您的方案的完整序列如下所示:
Git在合并时使用两次提交的最新公共祖先,而不是代码发散的原始点。 即使没有冲突,将来自master的更改(包括fb1 )整合到fb2中时 ,这两个分支之间的共同祖先将是包含initial + fb1的 master上的一个点,如果随后将fb1从master移除,则git会看到那些在master分支上发生了更改,并且最终的合并将不包含那些更改。
您可以用代数的方式考虑合并,其中m = merge
, b = base
, l = left
, r = right
, f = feature
, i = initial
m = b + diff(b,l) + diff(b,r)
m = (i + f1) + diff((i + f1), (i)) + diff((i + f1), (i + f1 + f2))
m = (i + f1) + (-f1) + (f2)
m = i + (f1 + -f1) + (f2)
m = i + f2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.