在OS X上使用Git 2.2.0版本和unity游戏引擎,并想提交我的代码。我添加了所有内容,没有得到错误消息。然后提交-m,得到如下错误信息:
fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources'
没有注意到,我按了,没有给出错误信息,事实上,说一切最新
所以我检查了bitbucket(回购所在的地方),它没有显示我的提交。所以我检查了我的本地日志,也没有显示我的提交。
我调查了谷歌寻找答案…和什么都没有。这个错误是什么?我该怎么解决呢?
如果这发生在子模块中
索引文件位于父目录。git中:
.git/modules/your_project_structure/index
在子模块中,没有名为.git的目录(至少在我正在工作的项目中),只有一个.git文件告诉你(和git)在哪里查找该项目的git目录。
Git状态显示了我没有做的更改
在删除索引文件并进行git重置之后,我发现自己面临着许多难以解释的变化,而硬重置并没有帮助。
警告您将丢失所有更改,因此请提交并在继续之前执行。
索引似乎已损坏,因此我使用以下命令删除了它。
git rm -rf --cached .
git reset --hard HEAD
第一个解决方案,似乎适用于最新版本的Git (2.3+, Q2+ 2015),在grant的最新答案中提到:
删除索引
$ rm .git/index
添加所有
$ git添加
提交
$ git提交
原答案(2014年末)
通常的解决方法是:
再次克隆远程回购到一个新的本地回购
将第一个repo的更改添加到第二个repo:
$ cd /patH/to/second/clone /repo
$ git——work-tree=/path/to/first/repo add。
您可以在这个补丁中讨论的read-cache.c中看到这个错误消息(“read-cache.c: Ensure unmerge entries are removed”),并在Git 2.2提交中引入。
由于这是最近的事情,所以有可能将Git降级到2.1就足以不受该补丁的影响。
OP Daniel Toebe在评论中补充道:
这个问题发生在我的macbook上,它决定在我身上失败,而另一个电脑故障使我远远落后于我的项目。