什么时候应该用力推?

问题描述:

我最近开始学习Mercurial。我不明白的是我得到的消息,然后我尝试推送到远程*存储库后,有人已经做了另一次推(不拉数据)。我所得到的信息是我试图推动一个新的*,并作为建议,提出可能的解决方案“用力推动”。现在什么时候应该用力推?

,我读了乔尔教程的水银和它说,这是一个可怕的建议 - 不应该用力推一个新的头部,使得多头。我直观地理解这一点。

我不明白的是 - 它时,实际上会适当使用一推的力量?有什么特别的情况可以选择合并操作吗?

+0

的[为什么一个--new分支标志需要?](http://*.com/questions/6948574可能重复/ why-a-new-branch-flag-needed) – msw 2014-08-27 22:06:27

+0

我不同意。他们说有一个新的分支。但并没有解释有关新的头像 – 2014-08-28 04:53:27

+0

“mercurial的哲学是,你不应该推动让其他用户更难的东西。与这个问题相关的是,多个头对其他开发者来说更​​难,因为他们会那么需要合并您的更改。“ – msw 2014-08-28 07:08:07

我能看到的使用推迟合并其中:

  • DEV-A已经按压的变化,
  • DEV-B已经作出了不兼容的变化并被推不合并,
  • 积分-C或者维护者-C :)将是人决定和合并。

在这种情况下,dev-B可以使用--force进行推送,从而为服务器提供所有必要的信息。当然,如果事先知道不兼容会出现,那么分支机构或书签可以实现类似的功能,但是有时我们不会。水银现在有推书签的可能性,所以它很可能是一个更好的选择..

推与力可用于自动构建/测试非常有用:开发商推他们要测试到特定服务器的变化。每次推动然后触发构建和测试。在这种情况下,多头不是问题。 其中一个例子是the 'try' server Mozilla uses

当然,大量的变化对这个是可能的。