好的,我有一个小谷歌,无法找到解决方案,因为我偶然发现了相同的消息,但人们有不同的方式。我是mecurial的新手,想确保我正确地做到这一点。
所以我收到上面的错误信息。我有一个开发站点和一个实时站点,我正在尝试将代码推送到代码库。
然而昨天我不小心做了hg add
,其中添加了我不想做的所有媒体。之后我确实从代码库中删除了所有媒体文件,然后提交并推送更改。所以今天我一直在改变CSS文件和一些模板。我已经去提交我的更改并推送它们但是当我运行hg push
时,我得到了上面的错误。
我运行hg log并且只有6次提交,因为它是一个干净的/新的分支/项目。任何帮助都会非常感激,如果我没有正确解释,我会道歉!
答案 0 :(得分:65)
这不是“错误”消息;这是一个完全正常的情况。这条消息说“嘿,其他人在你工作的时候把新工作推到了那个库中,你应该将它们整合到你的工作中,这样他们就不必把你的工作整合到他们的工作中了?”
首先做一个:
hg pull
然后a:
hg merge
顺便提一下,如果您实际使用revert
命令,那么hg revert
没有从历史记录中删除这些文件,因此您的历史记录可能非常大。
考虑阅读Mercurial book的前几章,它很好地涵盖了这些情况。
答案 1 :(得分:16)
如果您想取消有冲突的更改
hg outgoing
您应该看到包含未推送的已提交/冲突更改的行。搜索变更集修订版。这里 64
searching for changes
changeset: 64:1830948c246e
然后
hg strip 64
答案 2 :(得分:15)
这对我有用。
hg push -f
要获得更多命令,请尝试
hg help push
答案 3 :(得分:1)
在TortoiseHg上你可以这样做:
1 =>提交文件
2 =>去做你想要推送代码的新分支
3 =>在此分支上,运行Merge with develop
4 =>推送你的代码没有错误!
答案 4 :(得分:0)
使用Mercury的最佳方法-在文件夹中制作git init
。然后在本地使用git。合并到git等中。然后使用水银推回去。这是与水银打交道的最简单方法。
否则,水银只会根本不起作用。
答案 5 :(得分:0)