我不熟悉 egit,但听起来您正在处理合并冲突。我是否正确假设其他人也有权访问您正在处理的分支?可能发生的事情是他们将新的更改推送到分支,这就是导致拒绝的原因。通过拉动,您试图合并一些您必须解决的冲突更改。 Here 是对同一问题的更好解释。
坏消息是合并冲突总是必须手动解决。好消息是,看起来 egit 提供了一个合并工具来解决这些冲突。 This egit wiki page 可能会帮助您找到您正在寻找的比较工具。基本上,只需选择有冲突的文件,然后选择 Team > Merge Tool
.
如果这不起作用,您总是可以通过使用 git 合并标记( 和 =)自信地解决合并冲突。 Read this 详细说明如何在 Git 中使用它们。基本上,低于<<< 和高于=== 的任何内容都将是您的更改。 === 以下和>>> 以上的代码将是他们的更改。你要么必须选择你想要的那一面,或者你可以进一步定制它。通过删除所有内容并自己重新编写代码。
这是一个例子。这是您在解决合并冲突时可能会看到的内容。顶部向您显示本地 HEAD 的提交,即您的提交版本。而底部,=== 下方显示了在 origin/master 的提交,即您刚刚拉入的版本。
<<<<<< HEAD:test.html
<h1>This is my version</h1>
======
This is their version
>>>>>> origin/master:test.html
要只保留你的版本,你可以用这个替换整个块。这就像箭头和等号给你一个选择。你想要顶部(你的)还是底部(他们的)?
<h1>This is my version</h1>
或者,也许您想要两者的结合。在这里,您将保留您的 <h1> html 标记,但使用它们的文本。
<h1>This is their version</h1>
我希望这可以帮助您更轻松地解决合并冲突。如果你想了解更多关于 Git 的知识,我总是推荐git-scm。