为什么我不能把这个改变推到我的“主要”的mercurial仓库?
我正在努力争取Mercurial,并希望我只是在这里感到困惑!
我有一个仓库('主'),我克隆('克隆'),都在我自己的机器上。 两者完全同步。
我决定玩命名分支,所以下一次我在我的“克隆”我承诺我做了一个分支名称“case1212”,虽然它似乎已经处理了我的克隆正确提交,我不能推回去这些变化到“主”。 给出的错误是:
abort: push creates new remote branch 'case1212'!
…这表明我可能需要先合并? 我应该在“克隆”存储库上合并什么? 当我试图从“主”拉,没有任何变化。
我敢肯定,我真的希望它在我的“主”存储库中创build一个远程分支,所以从它更新的人可以看到该分支。
Mercurial的默认行为阻止您创build远程分支。 如果你想这样做,你需要强制推动。
在显示的窗口中同步菜单,有一个强制推送的选项。
乌龟现在有一个选项Push new branch
,可能比Force pull or push
更安全。 命令行工具有一个标志 – 新分支。
更新:新的龟界面使其更难find。 切换到“同步”视图,然后单击选项并select允许推送新的分支。
这是警告你,你的推动会创造新的远程头(在这种情况下分支机构)。 如果你没有问题,听起来就像你一样,你可以推push -f
。
这个检查是在那里,所以,如果你想case1212分支不回到主服务器,你可以做hg push -r default
,然后你不会看到这个警告,不发送case1212。
一旦你这样做case1212你不会再看到警告,因为case1212将已经在那里。
在新的头部是新的分支的情况下,更新版本的mercurial使得这个警告听起来不那么可怕。