Git无法在不编辑文件中合并脏_工作树和冲突

Git无法在不编辑文件中合并脏_工作树和冲突,git,git-merge,Git,Git Merge,当我试图从Zend Studio UI合并master和developer git分支时,我遇到了这个错误。 当我尝试通过命令行执行此操作时,会出现以下错误: error: your local changes to the following files would be overwritten by merge 甚至文件列表也没有更改。 我试过之后 但是在下一次尝试合并时,我发现所有文件都有冲突 我如何解决这个问题?您已经修改了一些文件,但尚未将它们提交到您的回购协议中。检查您的状态 gi

当我试图从Zend Studio UI合并master和developer git分支时,我遇到了这个错误。 当我尝试通过命令行执行此操作时,会出现以下错误:

error: your local changes to the following files would be overwritten by merge
甚至文件列表也没有更改。 我试过之后 但是在下一次尝试合并时,我发现所有文件都有冲突


我如何解决这个问题?

您已经修改了一些文件,但尚未将它们提交到您的回购协议中。检查您的状态

git status
并将所有打开的更改添加到分支。如果您有未提交的更改,并且尝试合并,则会发生该错误。您也可以使用git stash和git pop

在我的例子中,脏_工作树是由以下序列引起的:

在提交中,我还提交了一些本应忽略的文件 在下一次提交中,我修改了忽略上述文件的.gitignore 尝试在缺少对.gitignore所做更改的另一个分支上重新设置基址 在这个场景中,Eclipse认为您的工作树是脏的。实际上,当两个文件集中的一个忽略某些文件而另一个不忽略某些文件时,比较这两个文件集并不明显

为了解决Eclipse适用于任何基于Eclipse的IDE(如Zend Studio)的问题,我执行了以下操作:

修改.gitignore,使其与我要重设基础的分支中的相同 愉快地开始重定基址或合并重定基址。 就我而言,我有未提交的更改


我提交了更改,然后可以成功合并。

但我没有未提交的更改。在git状态下,我看到一个红色的文件列表,其中的更改没有提交。运行git签出时,文件似乎被重置,但在git状态下,它们再次出现。您应该先阅读git教程;我没有改变那个文件,相信我,我不需要git教程,我已经用了很多时间了。我有主分支和开发分支。我正在尝试将master合并到developer中,因为我已经对master进行了一些热修复。。我想问题可能是我手动替换了一些文件夹,可能是一些git系统文件损坏了信息。您是否启用了crlf?然后git更改所有行尾,您就自动修改了文件。