如何看待一个善变的差异

时间:2010-12-18 19:22:43

标签: mercurial

abort: push creates new remote heads!
(did you forget to merge? use push -f to force)

有没有办法看到我正在处理哪些差异?我很想做一个推-f并且首先要看看我覆盖了什么。 谢谢!

3 个答案:

答案 0 :(得分:3)

要查看本地和远程存储库之间的差异,请运行hg incoming。然后你可以决定是否要

  1. 无论如何推送您的更改并在远程端创建一个新头(使用push -f),
  2. 或者如果最好先远程更改,请在本地合并并按下
    合并后的变化。
  3. 后者通常更可取,这取决于您与其他开发者的合作方式。请注意,如果您首先执行hg pull,则不会触及您的本地更改,因此您可以与本地更改一起检查远程更改,但您仍然可以决定不合并并执行{{ 1}}无论如何。

答案 1 :(得分:3)

永远不要执行push -f :)它很可能会失败,但仍然不要这样做。我学到了很难的方法。

发生错误是因为有些人已将某些内容推送到主存储库。在推送它们之前,您需要做的是pull更改。要查看您将获得的内容,请运行hg inhg incoming(in是传入的别名),然后运行hg pull -u。有关您还可以做什么的更多信息,请参阅此page

答案 2 :(得分:1)

你需要先拉一下。然后合并。然后推。

push -f可能很危险。

要回答您的问题,您可以看到所做的更改:

hg status

hg diff

在您的本地存储库中。

hg incoming

显示您尚未提取的远程存储库中的任何更改。