6

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

这是我在拉取时收到的消息:

结帐冲突

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

我该如何从这里开始?消息非常模糊。有错误吗?我必须撤消我所做的吗?他必须吗?

4

4 回答 4

11

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

  1. 做一个 git stash。这将整合您所有的本地和冲突更改。
  2. 现在做一个 git pull
于 2016-04-06T11:02:38.457 回答
2

您必须通过将合作伙伴的更改合并到您的代码中并提交手动合并的文件来手动解决冲突。

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

请参阅http://wiki.eclipse.org/EGit/User_Guide#Manual_conflict_resolution

于 2014-09-09T13:04:22.543 回答
2

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

以我的经验,@lmray 发布的错误对话框是 EGit 在本地工作副本有未提交的更改时显示的内容。EGit 希望合并来自远程的信息,但我被告知它不会修改脏工作副本。要继续,您必须首先在本地提交您的更改,给您一个回退点,然后再次请求合并。然后合并应该产生一个合并的文件,希望没有任何冲突。

感谢@B。Dalton 试图让我理顺——我肮脏的工作副本文件有未提交的更改,本地 git 向导解释了一些事情。

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

于 2015-06-29T12:11:51.763 回答
0

在 Eclipse 中:-

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

在暂存区添加冲突文件

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

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

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

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

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

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

于 2020-07-20T11:47:33.150 回答