我是mercurial的新手。我最近和两个同事建立了一个存储库,在推送我的代码时遇到了困难。我在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
我不敢承诺使用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
由于有数百个文件,我不能为每个文件键入"y“,也找不到将它们合并在一起的方法。
UPDATE我已经尝试了前(2)个答案,但仍然有问题:
>hg pull
pulling from http://bitbucket.org/petermr/polyinfo/
searching for changes
no changes found
>hg merge
abort: outstanding uncommitted merges
更新以响应@tonfa我无法提交:
>hg commit
abort: unresolved merge conflicts (see hg resolve)
更新 @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
更新
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
更新下面的@balpha评论谁建议恢复,这要求修改(这是一个数字吗?如果是这样,我如何找到它?)
>hg revert --all
abort: uncommitted merge - please provide a specific revision
更新仍无法合并...
>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)
请注意,
hg resolve -all
提出了必须对数百个单独的问题回答"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)
发布于 2010-01-10 01:26:17
存储库的本地克隆可能不是最新的。做一个
hg pull
来改变这一点。现在您在本地有了两个头(您自己的上一篇技巧和bitbucket代码库的技巧)。现在
hg merge
合并两个头部和
hg commit -m "Merged before pushing"
现在你的本地repo只有一个头,并且这个头是bitbucket头的孩子,所以推送不会再创建远程头:
hg push
你就完事了。
发布于 2010-01-10 01:27:35
在将代码推送到远程存储库之前,首先要确保本地存储库是干净的,并且没有未完成的合并。
然后,从远程存储库执行hg拉取。这将在您的本地存储库中创建2个heads。
执行本地合并,并提交(解决任何冲突)。
最后,推送到远程存储库。
通常,如果要在远程存储库创建多个head,请不要将其推送到远程存储库。
发布于 2011-03-05 01:51:41
您可能不想提交合并,即使是本地合并。清理和重新开始(从https://www.mercurial-scm.org/bts/issue1533)的方法似乎是"hg update -C“。
正如上面提到的,似乎"hg revert -a“应该起作用,但似乎不起作用。
https://stackoverflow.com/questions/2034118
复制相似问题