我已经开始Eclipse EGit了。在某些情况下,它真的不全面。
我有本地文件,例如pom.xml改了。在git服务器上,此文件已更改。我做pull
,EGIt说:
结帐与文件冲突:
即停止停止(fetch
完成,但不是merge
),这没关系。然而接下来是不好的经历。
我同步工作区,将我的更改放在一边,使其与FETCH_HEAD相同。但是EGit不想继续。我用HEAD修订版替换文件。但是EGit仍然不想继续。
在冲突解决后,EGit应该使用什么标准的用户操作?
更新:
我added to index
,然后marked as Merged
- > pull
仍然无法通过。
当我选择Merge
时,我得到了对话框
我无法提交该文件,因为它不在更改的文件列表中。
情况:
解:
这是我解决问题的方法:
Pull
。更新:
正如Hugo Zuleta正确地指出的那样,在应用它时你应该小心。他说最终可能会说分支是最新的,但是没有显示更改,导致分支的异步。
应合并您的本地工作目录文件
如果“.settings / language.settings.xml”或任何此类文件出现错误,则无需git。
现在如果Staged文件列表为空,则Unstaged文件列表中的所有文件都标记为Ignored。你可以拉。否则,请按照其他答案。
我想最好的方法就是这样:
这就是我如何解决我的问题。
从Eclipse获得丑陋的CheckoutConflictException后,Eclipse-Merge Tool按钮被禁用。
Git需要将您的文件添加到索引以启用合并。
因此,要合并您的更改并提交它们,您需要首先将文件添加到索引“添加到索引”和“提交”它们而不“推送”。然后你应该在Eclipse中看到一个挂起的pull和一个挂起的推送请求。你会看到一个向上箭头和一个向下箭头。
如果所有冲突文件都在提交中,则可以再次“拉”。然后你会看到类似的东西:
\ <<<< << HEAD服务器版本\ =======本地版本>>>>>> .... git的分支'master'
然后你可以通过Merge-Tool更改它,现在启用它或者直接在文件中直接进行合并。在最后一步中,您必须将修改后的文件再次添加到索引并“提交并推送”它们。
检查完毕!
正确的解决方案是@ Jojo.Lechelt提供的解决方案。
但是,如果您不想因任何原因提交并仍想提取更改,则可以将更改保存在其他位置,使用HEAD修订版替换冲突文件,然后拉取。
稍后,您可以再次粘贴更改并将其与HEAD进行比较,并将其他人员更改合并到您的文件中。
右键单击项目并选择[替换为] - >头部修订。现在选择当前分支中的拉动更改或从上游拉动更改。