首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在mercurial中合并

无法在mercurial中合并
EN

Stack Overflow用户
提问于 2010-01-10 01:04:37
回答 5查看 20.8K关注 0票数 20

我是mercurial的新手。我最近和两个同事建立了一个存储库,在推送我的代码时遇到了困难。我在Windows中使用命令行hg。特别是,当我按下按钮时,我会得到一个类似以下的对话框:

代码语言:javascript
复制
>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

我不敢承诺使用push -f,因为我认为这会产生多个头部,并给我们的团队带来问题。

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

代码语言:javascript
复制
>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

由于有数百个文件,我不能为每个文件键入"y“,也找不到将它们合并在一起的方法。

UPDATE我已经尝试了前(2)个答案,但仍然有问题:

代码语言:javascript
复制
>hg pull
pulling from http://bitbucket.org/petermr/polyinfo/
searching for changes
no changes found

>hg merge
abort: outstanding uncommitted merges

更新以响应@tonfa我无法提交:

代码语言:javascript
复制
>hg commit
abort: unresolved merge conflicts (see hg resolve)

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

代码语言:javascript
复制
>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

更新

hg头

代码语言:javascript
复制
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

更新下面的@balpha评论谁建议恢复,这要求修改(这是一个数字吗?如果是这样,我如何找到它?)

代码语言:javascript
复制
>hg revert --all
abort: uncommitted merge - please provide a specific revision

更新仍无法合并...

代码语言:javascript
复制
>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)

请注意,

代码语言:javascript
复制
hg resolve -all

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

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

代码语言:javascript
复制
>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)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-10 01:26:17

存储库的本地克隆可能不是最新的。做一个

代码语言:javascript
复制
hg pull

来改变这一点。现在您在本地有了两个头(您自己的上一篇技巧和bitbucket代码库的技巧)。现在

代码语言:javascript
复制
hg merge

合并两个头部和

代码语言:javascript
复制
hg commit -m "Merged before pushing"

现在你的本地repo只有一个头,并且这个头是bitbucket头的孩子,所以推送不会再创建远程头:

代码语言:javascript
复制
hg push

你就完事了。

票数 16
EN

Stack Overflow用户

发布于 2010-01-10 01:27:35

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

然后,从远程存储库执行hg拉取。这将在您的本地存储库中创建2个heads。

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

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

通常,如果要在远程存储库创建多个head,请不要将其推送到远程存储库。

票数 5
EN

Stack Overflow用户

发布于 2011-03-05 01:51:41

您可能不想提交合并,即使是本地合并。清理和重新开始(从https://www.mercurial-scm.org/bts/issue1533)的方法似乎是"hg update -C“。

正如上面提到的,似乎"hg revert -a“应该起作用,但似乎不起作用。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2034118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档