【问题标题】:Merge using EGit results in commit of all changes as done by the merger使用 EGit 合并会导致提交合并所做的所有更改
【发布时间】:2012-10-14 17:21:56
【问题描述】:

我将 Eclipse 与 EGit 一起使用,并且我的 origin/master 位于 github 上。在这个项目上,有 3 名程序员正在工作。

当我将更改拉到本地 git(使用 EGit)并且出现冲突时,我解决了它们,没问题。

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

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

更新(14.10.2012): 感谢@robinst,我设法正确提交了仅与合并文件的正确合并。

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

【问题讨论】:

    标签: git egit git-merge


    【解决方案1】:

    当合并有冲突时,不是自动提交合并结果(如在无冲突情况下),不冲突的文件被暂存,有冲突的文件处于“冲突”状态。然后你必须解决每个文件中的冲突,然后暂存它。

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

    只有这样你才能继续处理你的提交。

    听起来您在解决所有冲突后没有提交合并,现在合并结果和您自己的更改混合在一起。会这样吗?

    【讨论】:

    • 谢谢!很有可能是这样的,下次再出现这种情况我会试试你建议的方法。
    • 好吧,我终于解决了另一个合并问题,我按照你的建议做了。我终于设法提交了正确的合并(仅合并的文件),但仍然存在两个问题:(1)合并工具不可用; (2) 我没有找到任何“Git Staging”视图……它藏在哪里?
    • 好!嗯,发生冲突时合并工具应该可用,否则有问题(可能是错误)。我需要有关您的回购等的更多信息来诊断。 Git Staging 视图:按 Ctrl+3(如果您在 Mac OS X 上,则按 Command+3)并输入“staging”,您应该会找到它。对于查找首选项、执行命令等也非常有用。
    • 感谢@Robinst! Ctrl + 3 真的很有帮助!希望我很快会有另一个合并来检查是否退出:)
    • 暂存视图也有助于提交,我总是使用它而不是提交对话框。
    猜你喜欢
    • 2012-01-09
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2021-08-22
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多