我在mercurial中创建了一个“named”分支,提交了一些更改,现在我想将其推回到中央存储库。我已经进行了获取操作,确认我没有需要合并的更改,但是当我尝试进行推送时,我得到了消息“push creates new remote head”,但是我不明白为什么会出现这样的情况。我是唯一在此分支上开发的人,并且它仍然存在于我的存储库中。
>hg fetch (pull/update/merge)
>hg status (shows nothing)
>hg push --new-branch mybranch
searching for changes
new remote heads on branch 'default'
new remote head c3064f3cf1b7
abort: push creates new remote head c3064f3cf1b7!
(did you forget to merge? use push -f to force)
有什么想法吗?
编辑:对于任何混淆,很抱歉,这是由hg branch mybranch
创建的命名分支。
更新:使用hg heads
会产生多个不同分支的分支头。我有一个在我的分支下,另一个在默认分支下:
changeset: 515:97b9a7802751
branch: mybranch
user: me <me@mymail.com>
date: Mon Feb 27 13:21:54 2012 -0800
files: CryptoRandom.cs
description:
fixing error message for size of max
changeset: 504:c3064f3cf1b7
user: me <me@mymail.com>
date: Thu Feb 09 11:41:32 2012 -0800
files: CipherKey.cs
description:
removing ambiguous characters - CAC-47
使用hg log -r c3064f3cf1b7
命令会返回以下结果(这是默认情况下的头部):
changeset: 504:c3064f3cf1b7
user: me <me@mymail.com>
date: Thu Feb 09 11:41:32 2012 -0800
files: CipherKey.cs
description:
removing ambiguous characters - CAC-47
hg heads
会显示所有的heads。这应该可以告诉你c3064f3cf1b7
与其他heads的位置。 - Joel B Fanthg log -r c3064f3cf1b7
。看起来你没有新的命名分支,而是在默认分支上有一个匿名分支。 - Lazy Badger