签出与文件冲突。我该如何继续?

问题描述 投票:0回答:5

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

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

Checkout Conflict

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

我该如何继续?该消息非常模糊。有错误吗?我必须撤销我所做的事情吗?他必须这样做吗?

java eclipse egit jgit vcs-checkout
5个回答
11
投票

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

  1. 进行 git 存储。这将巩固所有本地和冲突的更改。
  2. 立即执行 git pull

2
投票

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

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

感谢@B。 Dalton 试图纠正我的错误——我肮脏的工作副本文件有未提交的更改,并且本地 git 向导解释了事情。

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


2
投票

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

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

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


0
投票

在 Eclipse 中:-

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

在暂存区添加冲突文件

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

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

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

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

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

  2. 右键->提交并推送


0
投票

按照以下步骤操作,

  • 第1步:
    • 如果您使用 Windows 操作系统,请使用 gitbash 工具。
    • 如果您使用的是 MAC 操作系统,请使用终端。
  • Step2: 使用以下命令转到您的 git 项目位置 #cd
  • 第三步:#git stash
  • 第四步:#git pull
  • 第五步:#git stash apply
  • Step6 : 通过此手动解决冲突, Head(<<<<<< HEAD) is your change, Changes mentioned in branch(>>>>>>>分支)提到的更改是其他人的更改,您可以相应地更新文件。
© www.soinside.com 2019 - 2024. All rights reserved.