Git IntelliJ合并不显示任何内容

Git IntelliJ合并不显示任何内容,git,intellij-idea,merge,Git,Intellij Idea,Merge,我已经在一个功能分支上工作了相当长的一段时间,并且每隔2天左右就将master合并到我的分支中 但最近有人更改了主机上的2个文件,这些文件在我的分支中也发生了更改(冲突) 例如,我在master上有File1和File2 签出主机并对该分支进行了1个月的更改 母版上的File1和File2略有更改,但母版上的文件与我的功能分支上的文件有显著不同 现在IntelliJ向我显示了一个合并冲突,但我无法单击“合并”。当我双击它打开的文件时,左、右窗格完全是空的,中间有我的新版本。我无法合并,我所做的一

我已经在一个功能分支上工作了相当长的一段时间,并且每隔2天左右就将master合并到我的分支中

但最近有人更改了主机上的2个文件,这些文件在我的分支中也发生了更改(冲突)

  • 例如,我在master上有File1File2
  • 签出主机并对该分支进行了1个月的更改
  • 母版上的File1File2略有更改,但母版上的文件与我的功能分支上的文件有显著不同
  • 现在IntelliJ向我显示了一个合并冲突,但我无法单击“合并”。当我双击它打开的文件时,左、右窗格完全是空的,中间有我的新版本。我无法合并,我所做的一切都无法保存。我唯一能做的就是在“本地更改”选项卡中手动恢复合并

    下面是合并冲突(下面两个文件就是有问题的文件)

    这是3个窗格的“合并解析”窗口(中间窗格充满了代码-几百行):

    此外,我还尝试了TortoiseGit,但在那里我只能找到自动合并,但这也不起作用(同样的问题)

    你觉得我该怎么办


    我无法显示屏幕截图,因为这是我个人不拥有的代码。

    将默认编辑器设置为您想要的任何内容,例如:
    git配置--global editor.core“gedit”

    然后将合并工具设置为该编辑器并在编辑器上解决它,从命令行执行所有这些操作,我发现cli在许多情况下比intelliJ更简单、更流畅。

    我遇到了类似的问题。在我的例子中,问题是文件路径名中的大小写更改(例如,大写改为小写)

    我就是这样解决的:

    • 像往常一样使用IntellijMerge(使用命令行没有任何区别)
    • 查看有此问题的文件
    • 关闭“解决冲突”工具,手动更改这些文件的大小写*
    • 完成后,从IntelliJ菜单“VCS->Git->解决冲突”。您应该会看到有问题的文件恢复正常。解决冲突并关闭
    • 在正常情况下,IntelliJ会为您创建合并提交。但是,当你关闭“解决冲突”工具并重新打开它时,情况似乎并非如此。因此,从命令行运行git merge--continue来完成合并
    *注:关于如何知道套管已更换为什么,我不确定。在我的例子中,它来自
    包…

    我猜问题在于Windows文件系统API不区分大小写或者其他什么


    更新:在我的例子中,有一个新文件引用了一个使用旧外壳的文件。虽然我更改了它,但它没有包含在合并提交中。不知道原因。但无论如何,如果发生这种情况,请通过创建新提交或修改上一个提交手动解决。

    在IDEA中打开此文件。冲突将标记为
    >
    @Rumid Added screenshotsIntelliJ从git索引请求合并对话框的内容。例如,
    git cat文件-p1:
    用于中央窗格的初始状态。这样的问题可能是IntelliJ中的bug或git集成错误配置。事实上,将此问题报告给附加日志是值得的。谢谢,我尝试了它,但是通过Git bash中的设置,我在HEAD中删除了此错误
    冲突,并在master中修改了此错误
    。现在如何修复此问题?当我导航到该文件的文件夹时,原始文件就在那里(原封不动,意思是没有
    >>>>
    或者
    听起来像是你不小心删除了这个文件,试着返回几次提交,看看发生了什么,你可以得到一个完整的日志,上面有
    git reflog
    我刚刚看到大小写中有一个名称更改。所以现在基本上是两个不同的文件,称为精确的same、 但是大小写不同。我如何解决这个问题。(示例:在master:TESTFile1上,在feature:TESTFile1上)我删除了master上的文件,然后成功了。谢谢!是的,这正是我一直面临的问题。我在原始答案的评论中提到了这一点,但由于您的答案似乎更详细地解决了问题,我将接受它!