我的同事最近要求我帮助他使用预提交钩子来阻止推送到中央存储库。这个很有名https://hg.python.org/hooks/file/tip/checkheads.py
算法checkheads.py
将头聚集在分支中,忽略来自另一个分支的更改:
for x in xrange(p + 1, end):
if repo[x].branch() != branch:
continue
历史记录包含来自以下位置的合并default to prod然后从prod to default.
So checkheads.py
没有发现变更集合并于default(在图中连接)因为任何路径prod分支被剥离并且脚本报告了几个头default分支(但是hg heads
按原样报告单身)。
我的问题是什么有用的 DVCS 工作流程需要以两种方式在两个分支之间进行合并?
Famous http://nvie.com/posts/a-successful-git-branching-model/没有纵横交错的合并。
可以防止来回合并吗?
我的问题是什么有用的 DVCS 工作流程需要以两种方式在两个分支之间进行合并?
基于功能分支(gitflow、github-flow...)的每个工作流程,您想要使用拉取请求进行合并(例如,请参阅 github 的一键合并)。
如果您正在开发一项功能,并且有人已经合并了修改相同文件的功能,并且如果您想要合并,则会发生冲突。
如果您想合并拉取请求,则必须首先解决这些冲突。
你有两种可能性:
- rebase 但这并不总是可能的(出于一些很好的原因)
- 从父分支合并到功能分支中。
如果你以这种方式成功合并,你可以合并你的拉取请求/功能分支,你最终会得到一个漂亮的十字形;-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)