74

好的,我有一个小谷歌并且找不到解决方案,因为我偶然发现了相同的消息,但人们得到它的方式不同。我是 mecurial 的新手,想确保我做对了。

所以我收到了上述错误消息。我有一个开发站点和一个实时站点,我正在尝试将代码推送到代码库。

但是昨天我不小心hg add添加了所有我不想做的媒体。在从代码库中删除所有媒体文件之后,我确实恢复了,然后提交并推送更改。所以今天我一直在对 CSS 文件和一些模板进行更改。我已经提交我的更改并推送它们,但是当我运行时,hg push我得到了上面的错误。

我已经运行了 hg log 并且只有 6 个提交,因为它是一个干净/新的分支/项目。任何帮助将不胜感激,如果我没有正确解释任何事情,我深表歉意!

4

5 回答 5

72

这不是“错误”消息;这是一个完全正常的情况。那条消息是说“嘿,当你在做你的工作时,其他人将新工作推到了那个存储库,你可能应该将他们的工作整合到你的,这样他们就不必将你的整合到他们的?”

所以首先做一个:

hg pull

然后是:

hg merge

顺便说一句,revert如果您实际使用该hg revert命令并没有从历史记录中删除这些文件,那么您的历史记录可能非常大。

考虑阅读Mercurial 书的前几章,它很好地涵盖了这些情况。

于 2013-09-11T04:02:48.037 回答
21

如果您想取消有冲突的更改

hg outgoing

您应该看到包含未推送的已提交/冲突更改的行。搜索变更集修订。这里64

searching for changes
changeset:   64:1830948c246e

然后

hg strip 64
于 2016-01-23T20:20:00.543 回答
17

这对我有用。

hg push -f

有关更多命令,请尝试

hg help push
于 2016-04-14T02:22:51.937 回答
1

在 TortoiseHg 你可以这样做:

1 => 提交你的文件

2 => 去做你想要推送代码的新分支

3 => 在这个分支上,运行 Merge with develop

4 => 无错误推送您的代码!

于 2018-01-09T16:59:40.920 回答
0

如果您使用 Workbench 推送更改,您可以先尝试检测传出更改,请参阅附件图片

在此处输入图像描述

这将为您提供有关您将要推送的内容的信息。我的问题是,我有一个旧的draft待处理。一旦我完成strip了旧草稿,我就能够继续推动。

于 2019-05-22T05:40:57.580 回答