无法合并mercurial

pet*_*ust 20 mercurial push

我是mercurial的新手.我最近和2位同事一起建立了一个存储库,但我在推送代码方面遇到了困难.[我在Windows中使用命令行hg].特别是当我推动时,我得到如下对话:

>hg commit -u petermr

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
>hg merge
abort: there is nothing to merge

>hg status
Run Code Online (Sandbox Code Playgroud)

我害怕使用push -f,因为我认为会产生多个头并导致我们小组出现问题.

当我尝试合并时,我得到一个类似的对话:

>hg merge -f
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y
Run Code Online (Sandbox Code Playgroud)

由于有几百个文件,我不能为每个文件输入"y",我找不到将它们合并在一起的方法.

更新我尝试了第一个(2)答案,仍然有问题:

>hg pull
pulling from http://bitbucket.org/petermr/polyinfo/
searching for changes
no changes found

>hg merge
abort: outstanding uncommitted merges
Run Code Online (Sandbox Code Playgroud)

响应@tonfa的UPDATE我不能提交:

>hg commit
abort: unresolved merge conflicts (see hg resolve)
Run Code Online (Sandbox Code Playgroud)

更新 @balpha(我已将所有者的名称更改为Foo)

>hg parent
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged


>hg tip
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync
Run Code Online (Sandbox Code Playgroud)

UPDATE

hg头

changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged
Run Code Online (Sandbox Code Playgroud)

更新以下@balpha评论下面谁建议还原哪个要求修改(这是一个数字?如果是这样我怎么找到它?)

>hg revert --all
abort: uncommitted merge - please provide a specific revision
Run Code Online (Sandbox Code Playgroud)

UPDATE仍然无法合并......

>hg revert --all -r tip
reverting .hgignore
reverting .hgignore~
reverting src\test\java\org\xmlcml\cml\converters\polyinfo\RegressionTest.java
reverting src\test\resources\PMR\algorithm\cmlAll.xml
reverting src\test\resources\PMR\irregular\cmlAll.xml
reverting src\test\resources\PMR\massChange\cmlAll.xml
reverting src\test\resources\PMR\massChangeOk\cmlAll.xml
reverting src\test\resources\PMR\ok\P340076.both.svg
reverting src\test\resources\PMR\ok\P340076.p.svg
reverting src\test\resources\PMR\ok\P340076.r.svg
reverting src\test\resources\PMR\ratio\cmlAll.xml

>hg status
M .hgignore
M .hgignore~
M src\test\resources\PMR\algorithm\cmlAll.xml
M src\test\resources\PMR\irregular\cmlAll.xml
M src\test\resources\PMR\massChange\cmlAll.xml
M src\test\resources\PMR\massChangeOk\cmlAll.xml
M src\test\resources\PMR\ok\P340076.both.svg
M src\test\resources\PMR\ok\P340076.p.svg
M src\test\resources\PMR\ok\P340076.r.svg
M src\test\resources\PMR\ratio\cmlAll.xml
? src\test\resources\PMR\bug\P020006work.both.svg
? src\test\resources\PMR\irregular\cmlAll.xml.resolve

>hg merge
abort: outstanding uncommitted merges

>hg commit
abort: unresolved merge conflicts (see hg resolve)
Run Code Online (Sandbox Code Playgroud)

注意

hg resolve -all
Run Code Online (Sandbox Code Playgroud)

提出了必须回答数百个问题的"y"的原始问题,我不知道它是否能解决问题.非常感谢您的帮助!

更新 @balpha建议清洁 - 这似乎取得了进展

>hg update --clean -r tip
10 files updated, 0 files merged, 0 files removed, 0 files unresolved

>hg merge
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChangeOk/cmlAll.xml
 output file src/test/resources/PMR/massChangeOk/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.both.svg
 output file src/test/resources/PMR/ok/P340076.both.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.p.svg
 output file src/test/resources/PMR/ok/P340076.p.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.r.svg
 output file src/test/resources/PMR/ok/P340076.r.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ratio/cmlAll.xml
 output file src/test/resources/PMR/ratio/cmlAll.xml appears unchanged
was merge successful (yn)? y
2 files updated, 8 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)

>hg merge
abort: outstanding uncommitted merges

>hg merge -f
abort: outstanding uncommitted merges

>hg commit -u petermr -m "still trying to sy
nc"

>hg merge
abort: there is nothing to merge

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
http authorization required
realm: Bitbucket.org HTTP
user: petermr
password:
adding changesets
adding manifests
adding file changes
added 4 changesets with 298 changes to 290 files
bb/acl: petermr is allowed. accepted payload.
quota: 13.3 MB in use, 150.0 MB available (8.87% used)
Run Code Online (Sandbox Code Playgroud)

bal*_*pha 16

您当地的回购克隆可能不是最新的.做一个

hg pull
Run Code Online (Sandbox Code Playgroud)

改变这一点.现在你在本地有两个头(你自己的前一个提示和bitbucket repo的尖端).现在

hg merge
Run Code Online (Sandbox Code Playgroud)

合并两个头和

hg commit -m "Merged before pushing"
Run Code Online (Sandbox Code Playgroud)

现在你的当地回购只有一个头,这个头是bitbucket头的孩子,所以推动不再创建一个远程头:

hg push
Run Code Online (Sandbox Code Playgroud)

你完成了


Tar*_*don 5

在将代码推送到远程存储库之前,首先要确保本地存储库是干净的,并且没有未完成的合并.

然后,从远程存储库执行hg pull.这将在本地存储库中创建2个头.

进行本地合并,并提交(解决任何冲突).

最后,推送到远程存储库.

通常,如果在那里创建多个头,则不要推送到远程存储库.