2010-08-02 30 views
26

我通过hg:我如何将新创建的分支推回中央存储库?

克隆森特拉尔库
hg clone my_project my_project_1 

然后当新的克隆内我发出

hg ci -m "branch created" 

切换到新创建的回购标志着我作为一个新的分支

hg branch v1 

后但是当我试图将更改回推给我从 克隆的原始存储库时,出现此错误:

abort: push creates new remote branches: v1! 

如何将分支压入原始存储库? 我是否试图通过将分支推入原始回购来做正确的事情?我只想拥有一个中央存储库,其中将包含分支机构,我可以从中检出分支机构。 解决此问题的最佳方法是什么? 谢谢。

+0

使用分布式版本控制,您(通常)检查所有内容,而不仅仅是分支。此外:“一个集中的存储库”是可能的,但每个开发人员检查存储库都有一个中央存储库的克隆。 – 2012-03-07 12:20:10

回答

52

它取决于您正在使用的Mercurial版本。该命令曾用于hg push -f ...hg push --force ...以强制在远程存储库中创建新的分支(通常可以)。

但是,使用-f,您还可以在远程存储库(通常 OK)创建新的负责人,所以水银的当前版本(1.6及以上)有--new-branch选项hg push,允许你创建一个分支,但不能创建一个新的头部,所以命令是:

hg push --new-branch 

您还可以限制推向只是你正在与-b标志工作的分支上,所以:

hg push --new-branch -b v1 
+2

它看起来不像git,你必须创建一个提交才能推送:'hg ci -m“创建一个分支”# – NoBugs 2014-01-01 07:25:37

+0

@NoBugs在问题中,OP说他们已经这样做了。 – 2014-01-01 14:15:08

相关问题