我想找到Mercurial并希望我在这里感到困惑!
我有一个我已克隆的存储库('main')('clone'),都在我自己的机器上。两者完全相同。
我决定使用命名分支,所以下次我在'clone'上做了我在'case1212'的分支名称下做了它,虽然它似乎在我的克隆上正确处理了提交,但我无法推送这些变化回到了“主要”。给出的错误是:
abort: push creates new remote branch 'case1212'!
...它表明我可能需要先合并?我应该在“克隆”存储库中合并什么?当我试图从'main'拉出时,没有任何变化。
我很确定我真的希望它在我的'main'存储库中创建一个远程分支,以便从中更新的人可以看到该分支。
答案 0 :(得分:50)
Mercurial的默认行为阻止您创建远程分支。如果你想这样做,你需要强制推动。
在您显示的窗口中同步菜单,有一个强制推送选项。
答案 1 :(得分:24)
Tortoise现在有一个选项Push new branch
,可能比Force pull or push
更安全。命令行工具有一个标志--new-branch。
更新:新的乌龟界面让它更难找到。切换到Synchronize视图,然后单击options并选择allow push of new branch。
答案 2 :(得分:19)
它警告你,你的推送会创建新的远程头(在这种情况下是分支)。如果你对此感到满意,听起来就像你一样,你可以推进push -f
。
此检查在那里,如果您希望case1212分支不返回主服务器,您可以hg push -r default
,然后您不会看到此警告,也不会发送case1212。
一旦你为case1212做了这个,你就不会再看到警告,因为case1212已经存在了。
较新版本的mercurial使得在新头部成为新分支的情况下,该警告听起来不那么可怕。