我的同事最近要求我帮助他预先阻止推送到中央回购。这是着名的https://hg.python.org/hooks/file/tip/checkheads.py
checkheads.py
的算法在分支中聚集头,忽略来自另一个分支的变化:
for x in xrange(p + 1, end):
if repo[x].branch() != branch:
continue
历史记录包含从默认到 prod 的合并,然后从 prod 返回到默认。
所以checkheads.py
没有发现变更集合并在默认(在图中连接),因为来自 prod 分支的任何路径都被剥离并且脚本报告默认分支中的几个头(但hg heads
报告单个原样)。
我的问题是什么有用的DVCS工作流需要以两种方式在两个分支之间进行合并?
着名的http://nvie.com/posts/a-successful-git-branching-model/并没有纵横交错。
可以防止来回合并吗?
答案 0 :(得分:4)
我的问题是什么有用的DVCS工作流需要以两种方式在两个分支之间进行合并?
根据要素分支(gitflow,github-flow,...)进行每个工作流程,使用拉取请求进行合并(例如,请参阅github的单击合并)。
如果您正在处理某个功能,并且有人已经合并了修改相同文件的功能,并且您想要合并时会发生冲突。
如果要合并拉取请求,则必须先解决这些冲突。
您有两种可能性:
如果您以这种方式成功合并,您可以合并您的拉取请求/功能分支,最终会得到一个美丽的十字交叉;-)