什么时候应该用力推?

时间:2014-08-27 19:35:11

标签: mercurial

我最近开始学习Mercurial。我不明白的是我收到的消息然后我尝试在有人已经再次推送(没有提取数据)之后推送到远程中央存储库。我得到的信息是,我试图推动一个新的头脑,并作为建议,可能的解决方案“使用推力”。

现在,我阅读了关于Mercurial的Joel教程,并且在那里说它是一个糟糕的建议 - 一个人不应该用力推动一个新头,制造多个头。我直观地理解这一点。

我不明白的是 - 什么时候用武力推动实际上是合适的?有什么特别的情况可以选择合并操作吗?

2 个答案:

答案 0 :(得分:2)

强制推送对于自动构建/测试非常有用:开发人员将他们想要测试的更改推送到特定服务器。然后每次推送都会触发构建和测试。在这种情况下,多个头不是问题。 其中一个例子是the 'try' server Mozilla uses

当然,可能会有很多变化。

答案 1 :(得分:2)

我可以看到用于推迟合并的用法:

  • dev-A推动了变革,
  • dev-B进行了不兼容的更改并推送而没有合并,
  • integrator-C或maintainer-C :)将是决定和合并的人。

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