使用EGit进行合并会导致所有更改的提交由合并完成

时间:2012-10-03 08:22:44

标签: git egit git-merge

我正在使用Eclipse和EGit,而我的origin / master在github上。这个项目正在为3名程序员工作。

当我将更改提取到我的本地git(使用EGit)并且存在冲突时我会解决它们,没问题。

事情是,当我提交时,它提交一个包含自我上次提交(拉动之前)以来所有已更改文件的合并,并且在git中我看到其他程序员所做的所有这些更改,就像我在最后一次提交时所做的那样合并......

为什么会这样? 我做错了什么?

更新(2012年10月14日): 感谢@robinst我设法正确提交了仅与合并文件的正确合并。

但仍有两个问题: (1)合并工具不可用,为什么会这样? (灰色,无法点击); (2)我没有找到任何“Git Staging”视图......它隐藏在哪里?

1 个答案:

答案 0 :(得分:2)

当合并发生冲突时,不是自动提交合并结果(如在无冲突的情​​况下),而是冲突的非冲突文件,并且冲突的文件处于“冲突”状态。然后,您必须解决每个文件中的冲突,然后进行暂存。

解决所有冲突(并暂存文件)后,必须提交合并。当您使用 Git Staging 视图时,您将在解决所有冲突后看到消息更改为合并消息。之后,按工具栏中的“提交”图标。

只有这样,您才能继续处理提交。

听起来你解决了所有冲突后你没有提交合并,现在混合了合并结果和你自己的更改。可能是这种情况吗?