我正在尝试让 hg-git 扩展在 Windows 下工作,经过几个小时的摆弄,我似乎终于让它工作了。然而,即使 hg push 的输出显示为:
,我的 git 存储库中也没有显示任何内容importing Hg objects into Git
creating and sending data
github::refs/heads/master => GIT:8d946209
[command completed successfully Wed Oct 20 15:26:47 2010]
尝试发出命令
hg bookmark -f master
(使用
-f
强制移动现有书签)
然后再次尝试推动。
这是有效的,因为Hg-Git 将您的书签作为分支推送到 Git 服务器,并将拉下 Git 分支并将它们设置为书签。 (来自官方README.md)
似乎就在我问完这个之后,我做了一个微不足道的改变。这个东西被捡起来推了推。所以看来你必须等到你做出新的提交才能让 hg-git 接受它。
我选择“使用自述文件初始化此存储库”。这意味着我最终得到了两个头,但我不能
hg merge
,因为其中一个有书签。
为了推动工作,我必须:
hg heads
),最终命令如下(替换为
<x>
部分)
hg pull github
hg update
hg merge <revision-id-of-incoming-git-version>
hg addremove
hg commit -m 'merged with github'
# make some trivial change to a file - eg add a space where it doesn't cause harm
hg add <changed-file>
hg commit -m 'trivial change'
hg bookmark -f master
hg push github
确保为上面的合并选择远程版本 - 如果不这样做,它将不起作用!
当我将 书签 添加到存储库时,hg-git 使用它们来创建 git 分支。
如果没有书签,我会收到以下消息:
no changes found (ignoring X changesets without bookmarks or tags)
。使用强制推送没有书签的分支会导致以下错误:abort: revision X cannot be pushed since it doesn't have a bookmark
。