在OS X上使用Git版本2.2.0和统一游戏引擎,并且想要提交我的代码.我添加了所有内容,但未收到错误消息.然后提交-m,并收到此错误消息:
fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources'
Run Code Online (Sandbox Code Playgroud)
没有注意到我推了,没有给出错误信息,事实上说Everything up-to-date
所以我检查了bitbucket(回购举行的地方)并且它没有显示我的提交.所以我检查了我的本地日志,这也没有显示我的提交.
我已经看了谷歌的答案......什么都没有.这个错误是什么?我该如何解决?
Von*_*onC 380
第一个解决方案,似乎适用于最新版本的Git(2.3 +,Q2 + 2015),在授权的更新答案中提到:
删除索引
$ rm .git/index
Run Code Online (Sandbox Code Playgroud)都加进去
$ git add -A
Run Code Online (Sandbox Code Playgroud)承诺
$ git commit -a
Run Code Online (Sandbox Code Playgroud)原始答案(2014年末)
通常的解决方法是:
将更改从第一个repo添加到第二个repo:
$ cd /patH/to/second/cloned/repo
$ git --work-tree=/path/to/first/repo add .
Run Code Online (Sandbox Code Playgroud)您可以read-cache.c在此修补程序中讨论此错误消息(" read-cache.c:确保删除未合并的条目 "),并在Git 2.2提交中引入.
由于这是最近的,有可能将 Git 降级到2.1足以不受该补丁的影响.
该OP丹尼尔Toebe增加的评论:
这个问题发生在我的macbook上,它决定对我失败,另一个计算机事故让我在我的项目上落后.
gra*_*ant 165
我相信我遇到了这个问题,因为我添加并提交了更改,然后删除了我刚刚提交的文件.如果这听起来与您的情况类似,我建议您按照以下步骤保存重新克隆并手动添加更改.
我能够通过删除我的存储库中的.git/index文件来解决这个问题,类似于@slider建议的(我相信他错误地输入了路径).
rm .git/index
Run Code Online (Sandbox Code Playgroud)
然后我不得不再次添加并提交我的本地更改
git add -A
git commit -m "..."
Run Code Online (Sandbox Code Playgroud)
然后我能够远程推送.
什么是git索引以及它是如何相关的?
git"index"是您要将文件放置到git存储库的位置.
在"提交"(签入)文件到git存储库之前,需要先将文件放在git"index"中.
我相信通过删除这个文件,git将重新索引repo,创建一个新的,你很高兴.它解决了这个问题,因为本地存储库被重新编入索引而没有我删除的文件引起了所有的麻烦.
编辑:看起来这是与Mac相关的(基于评论),所以如果它有助于我在OSX 10.10和通过brew安装的git版本2.3.4.
far*_*ncz 118
rm .git/index
git reset
Run Code Online (Sandbox Code Playgroud)
删除索引后,您需要通过git reset重新创建它
转到主项目文件夹
rm .git/modules/your_project_structure/index
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
小智 29
您可以从项目中删除Git索引文件.在项目的根目录中,运行以下命令:
rm .git/index
Run Code Online (Sandbox Code Playgroud)
那个git之后就可以了.
| 归档时间: |
|
| 查看次数: |
60898 次 |
| 最近记录: |