我已经开始使用Eclipse EGit了。在某些情况下,它实际上并不全面。
我有本地文件,例如pom.xml改了。在git服务器上,此文件已更改。
我做pull
,EGIt说:
结帐与文件冲突:
即。拉停止(fetch
已完成,但不是merge
),这没关系。然而,接下来是不好的经历。
我同步工作区,将我的更改放在一边,使其与FETCH_HEAD相同。但是EGit不想继续。我用HEAD修订版替换文件。但是EGit仍然不想继续。
解决冲突后,EGit应该采用什么标准的用户操作?
更新:
我added to index
,然后marked as Merged
- > pull
仍然无法通过
当我选择Merge
时,我会看到对话框
我无法提交文件,因为它不在更改文件列表中。
答案 0 :(得分:50)
<强>情况:强>
<强>解决方案:强>
答案 1 :(得分:27)
这是我解决问题的方法:
Pull
。<强>更新强>
正如Hugo Zuleta正确地指出的那样,在应用这个时你应该小心。他说最终可能会说分支是最新的,但是没有显示更改,导致分支的异步。
答案 2 :(得分:19)
您的本地工作目录文件应该合并
答案 3 :(得分:1)
如果“ .settings / language.settings.xml”或任何此类文件出现错误,则无需git。
现在,如果“暂存文件”列表为空,而“未暂存文件”列表中的所有文件都标记为“已忽略”。你可以拉。否则,请遵循其他答案。
答案 4 :(得分:0)
我想最好的方法就是这样:
无论何时发生,我都会如何解决我的问题。
答案 5 :(得分:0)
从Eclipse获得丑陋的CheckoutConflictException后,将禁用Eclipse-Merge Tool按钮。
Git需要将所有文件添加到索引中才能启用合并。
因此,要合并您的更改并提交更改,您需要先将文件添加到索引“添加到索引” 和“提交” 中而无需 “推” 。然后,您应该在Eclipse中看到一个挂起的请求和一个挂起的请求。您会看到一个向上箭头和一个向下箭头。
如果所有冲突文件都在提交中,则可以再次“拉” 。然后您会看到类似以下内容的
:\ <<<<<<<头 服务器版本 \ ======= 本地版本 .... git的分支'master'
然后,您可以通过现已启用的合并工具对其进行更改,也可以直接在文件中手动进行合并。在最后一步中,您必须再次将修改后的文件添加到索引中,然后“提交并推送” 。
检查完成!
答案 6 :(得分:0)
正确的解决方案是@ Jojo.Lechelt提供的解决方案。
但是,如果出于某种原因不想提交但仍要拉出更改,则可以将更改保存到其他位置,将冲突的文件替换为HEAD版本,然后拉出。
以后,您可以再次粘贴所做的更改,并将其与HEAD进行比较,并将其他人的更改合并到您的文件中。
答案 7 :(得分:0)
右键单击项目,然后选择[替换为]->“头部修订”。现在选择在当前分支中拉出更改或从上游拉出更改。
答案 8 :(得分:0)
在Eclipse中:-
在暂存区中添加冲突文件
在本地存储库中添加冲突文件
您将获得所有更改(远程存储库和本地存储库中的更改)
以Head( <<<<<< HEAD )提及的更改是您的更改,分支(>>>>>>>>> 分支中提及的更改是其他更改更改人员后,您可以相应地更新文件。
右键单击->单击“添加到索引”
右键单击->提交并推送
答案 9 :(得分:0)
我对这个问题有完全不同的经历。 当我拉(我的暂存是干净的!),我看到很多文件在拉后暂存,我没有改变或添加,所以我用头替换再次清理暂存区。再次尝试 pull 后,我又遇到了同样的问题,现在我做了以下操作:
希望这能解决您的问题。
谢谢