阅读一些“为什么DVCS更好”回答了有关Programmers.SE的几个问题。他们似乎都说,总的来说,DVCS更好,因为您没有大型项目中的提交竞赛,即IE提交,已经过时了,所以更新,提交,再次过时,提交,仍然过时等。
DVCS通过推送的概念限制了这一点。但是,在大型项目中,会不会有一场“推动竞赛”,尤其是在一天结束时?我知道在Git中这可以通过对所有事物的不断分支来弥补,但是在Mercurial中,您不需要分支,而是创建一个新的头部。
我看到的问题
- 用户尝试推送
- 过时(如果本地存储库过时,Mercurial不会让您推送),因此您可以拉并合并本地更改
- 用户尝试再次推送,但是当他们合并其他推送时,他们又过时了
- 再次拉并合并
- 仍然过时
- 重复
听起来有点熟?
这是非常大且受欢迎的水银回购的实际问题吗?当每个人都在最后一天努力工作时,在公司内部怎么办?
--close-branch
在提交时添加一个-并且mercurial已经命名了分支,您不必克隆到新目录
hg branch myfeature; hg ci -m "Starting feature branch"; hg push --new-branch