Ale*_*tov 28 version-control mercurial
我通过克隆了中心存储库
hg clone my_project my_project_1
Run Code Online (Sandbox Code Playgroud)
然后在切换到新创建的仓库后,我将其标记为新分支
hg branch v1
Run Code Online (Sandbox Code Playgroud)
在我发布的新克隆里面
hg ci -m "branch created"
Run Code Online (Sandbox Code Playgroud)
但是当我试图将更改推回原来的存储库时,我克隆了这个错误:
abort: push creates new remote branches: v1!
Run Code Online (Sandbox Code Playgroud)
如何将分支推入原始存储库?我是否通过尝试将分支推入原始仓库来做正确的事情?我只想拥有一个包含分支的集中式存储库,我可以从中检查分支机构.处理这个问题的最佳方法是什么?谢谢.
Nia*_* C. 61
这取决于您使用的Mercurial版本.该命令曾经是hg push -f ...
或hg push --force ...
强制在远程存储库中创建新分支(通常可以).
但是,使用-f
还允许您在远程存储库中创建新的头(通常不行),因此Mercurial(1.6及更高版本)的当前版本有一个--new-branch
选项hg push
,允许您创建一个分支,但不创建新头,所以命令是:
hg push --new-branch
Run Code Online (Sandbox Code Playgroud)
您还可以将推送限制为仅使用该-b
标志处理的分支,因此:
hg push --new-branch -b v1
Run Code Online (Sandbox Code Playgroud)