结帐与文件冲突。我该怎么办?

时间:2014-09-09 05:32:40

标签: java egit jgit vcs-checkout

我刚刚从持有我的团队项目的远程存储库中提取了一些更改。

这是我收到的消息:

Checkout Conflict

显然,我的一个合作伙伴改变了与我相同的文件。

我如何从这里开始?消息很模糊。有错误吗?我必须撤消我的所作所为吗?他有吗?

4 个答案:

答案 0 :(得分:8)

我今天遇到了这个问题,以下解决方案对我有用。

  1. 做一个git藏匿。这将合并您所有本地和冲突的更改。
  2. 现在做一个git拉

答案 1 :(得分:1)

您必须manually resolve the conflict将合作伙伴的更改合并到您的代码中并提交手动合并的文件。

或者,如果您的更改过于复杂,您可以将更改恢复(丢弃)到该文件,更新代码以获取您的合作伙伴的更改,然后重做您的工作。

请参阅this

答案 2 :(得分:0)

您的工作副本中的文件中是否有未提交的更改?或者你的工作副本是否干净? EGit文档将引导您通过后一种情况。

根据我的经验,@ lmray发布的错误对话框是当本地工作副本有未提交更改时EGit显示的内容。 EGit希望合并来自遥控器的信息,但我告诉它不会修改脏工作副本。要继续,您必须首先在本地提交更改,为您提供回退点,然后再次请求合并。然后合并应生成合并文件,希望没有任何冲突。

感谢@B。道尔顿试图理顺我 - 我的脏工作副本文件有未提交的更改,并且当地的git向导解释了一些事情。

题外话:如果你(像我一样)习惯使用SVN,这是一种心理调整,SVN会很乐意将远程更改转换为脏的本地工作文件。不是说那更好,只是git的工作方式不同。我仍然在努力将我受过SVN训练的直觉转化为对Git的合适期望。

答案 3 :(得分:0)

在Eclipse中:-

  1. 右键单击->单击“添加到索引”

在暂存区中添加冲突文件

  1. 右键单击->单击提交

在本地存储库中添加冲突文件

  1. 拉动

您将获得所有更改(远程存储库和本地存储库中的更改)

以Head( <<<<<< HEAD )提及的更改是您的更改,分支(>>>>>>>>> 分支中提及的更改是其他更改更改人员后,您可以相应地更新文件。

  1. 右键单击->单击“添加到索引”

  2. 右键单击->提交并推送