mercurial push / pull问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mercurial push / pull问题相关的知识,希望对你有一定的参考价值。
在我的团队朋友对我们的仓库进行推送操作后,我无法进行推送操作。
首先我提交后点击推送
Push will not be performed because it would create remote branches.
You must first resync by doing a Pull from the target repository and Merge.
后来我点击拉我得到了这个
INFO Pulling From: https://mercurial.intuxication.org/hg/itucs-blg361-2010-g27 ...
comparing with https://mercurial.intuxication.org/hg/itucs-blg361-2010-g27
searching for changes
no changes found
INFO Pulled From: https://mercurial.intuxication.org/hg/itucs-blg361-2010-g27
INFO To: hastaneBilgiSistemi - C:UsersyakUPDesktopwickethastaneBilgiSistemi
INFO: End of Mercurial Pull
我能做什么?
我试过更新。它说:
Mercurial Update
----------------
Update to revision 25 in:
C:UsersyakUPDesktopwickethastaneBilgiSistemi
abort: crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)
INFO: End of Update
图形就像:我是mercurial的新手。
答案
要获得有关在服务器上创建新磁头的消息,然后说没有新的更改集,意味着您已经拥有了服务器的所有更改集。
你应该做的是查看你的本地克隆并将多个头合并在一起以获得一个,然后你应该能够推动。
但是,您可能无法在Windows上执行此操作(根据您问题中的路径示例判断),因为两个文件之间存在大小写折叠冲突:
- src / java / itucs / blg361 / hbs / linkpage.java < - 在linkPage中注意小写的p
- src / java / itucs / blg361 / hbs / linkPage.java < - 在linkPage中注意大写P
这将阻止您实际使用该分支,除非有系统认为这两个是不同的文件(如* nix)为您摆脱其中一个,推动它,然后你拉入新的变更集。
所以你有几个选择:
- 使用--override(或GUI等效项)强制推送。这通常不是正确的方法。这将在服务器上创建另一个头,然后突然你有至少3个不同版本的项目。
- 拉(就像你已经完成),合并,然后推。这通常是首选。您应该将属于一起的头合并在一起以返回到一个分支。
无论如何,我会弄清楚为什么你已经在存储库中有多个头。有人强迫推吗?这是故意的吗?
得到TortoiseHg - 它会让你的生活更轻松
以上是关于mercurial push / pull问题的主要内容,如果未能解决你的问题,请参考以下文章
Mercurial stuck “waiting for lock”, tortoisehg pull版本卡住在等待 解决办法
ssh链接git服务器,解决push pull要求输入密码问题