请帮忙。
我总是很难将我的更改推送到现有的远程存储库,其中版本号更新。也就是说,在我上次拉动之后,有人已经推到了那个存储库。
我使用ubuntu 14.04
,netbeans
和mercurial
以及meld
,我的项目是使用laravel框架的php应用程序。
我目前的解决方案是,
tip
标记; alt
+ shift
+ f
(格式),以便我可以删除不必要的空格,我可以很容易看到更改(当我在meld中再次比较两个目录时)有适当的缩进和更清晰的换行符; tip
等于远程存储库中的最新修订版; 我不想继续使用此解决方案,因为它还需要您有第二个备份存储库(换句话说,存储容量问题)。请帮我找到另一种解决方案。
如果我做了所有不同的事情,比如,首先,从远程存储库中提取最新的更改(我的同事):我收到错误:
abort: outstanding uncommitted changes
如果我先推:错误是:
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
然后有时,如果我使用终端,它需要我合并。如果您无法控制哪个文件首先合并(终端按字母顺序打开每个更改文件的融合比较工具),则很难在终端中合并,
有时你必须申请"格式"首先要对每个文件轻松了解所执行更改的目标。
但如果您退出合并,它会假设您已成功合并文件(或不合并?CMIIW。)
答案 0 :(得分:4)
简而言之,Mercurial已经给你提示了。您可以随时进行远程更改。但是,如果您的工作目录中有未提交的更改,则无法将它们与您的更改合并。
所以只需提交那些(或搁置它们,如果你还没有完成),进行合并,解决任何冲突,并提交合并。然后,您可以将所有内容推送到远程服务器。