Ind*_*ial 7 version-control mercurial branching-and-merging
在昨天问这个关于mercurial分支的问题之后,我决定尝试使用短期分支(功能)的书签,如下所示.
但是现在当我尝试将我的书签头合并到开发修订版中时,我得到以下错误:
hg update dev-1.1
hg merge feature1
abort: nothing to merge
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我的回购的图形表示:
o changeset: 5:fa2b19961b46
| bookmark: feature1
| description: Work on feature 1 finished.
|
| o changeset: 4:6ea0155d4d89
| | bookmark: feature2
| | description: Work on feature 2 started.
| |
o | changeset: 3:44e335b5426c
| | bookmark: feature1
|/ description: Work on feature#1 started.
|
@ changeset: 2:407b3b94624f
| tag: dev-1.1
| description: Development for release 1.1 started.
Run Code Online (Sandbox Code Playgroud)
Mar*_*ler 14
就像它说的,没有什么可以合并 - 你应该使用更新:
$ hg update feature1
Run Code Online (Sandbox Code Playgroud)
您只能合并历史的不同部分,这里dev-1.1变更集只是变更集的祖先feature1.Mercurial 2.1说
$ hg merge feature1
abort: nothing to merge
(use 'hg update' or check 'hg heads')
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我们希望这会使错误更加清晰.
如果你已经为dev-1.1变更集添加了书签(而不是标记它),那么就是普通的
$ hg update
Run Code Online (Sandbox Code Playgroud)
现在(用水银2.1)导致更新了的dev-1.1书签.所以,如果你开始
$ hg bookmarks
* dev-1.1 0:b1163a24728f
feature1 3:c84f04513651
feature2 2:e60dd08af282
Run Code Online (Sandbox Code Playgroud)
然后更新:
$ hg update
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating bookmark dev-1.1
Run Code Online (Sandbox Code Playgroud)
然后书签更新:
$ hg bookmarks
* dev-1.1 3:c84f04513651
feature1 3:c84f04513651
feature2 2:e60dd08af282
Run Code Online (Sandbox Code Playgroud)
对于早期版本,您必须这样做
$ hg update feature1
$ hg bookmark -f dev-1.1
Run Code Online (Sandbox Code Playgroud)
如果普通版hg update没有将您带到正确的变更集,这仍然适用,例如,如果您想要与之"合并" feature2.
当历史没有真正分歧时使用合并的想法来自Git.在该系统中,存在快速合并的概念,这就是我们称之为Mercurial中的更新.
| 归档时间: |
|
| 查看次数: |
4361 次 |
| 最近记录: |