这是一个在流浪汉中的巨大痛苦。我之前有过几次,我不明白为什么。 5分钟前,回购工作良好,我工作的时候,我移动了一些文件(这是很酷的,所有的都很酷),而Git则用它的裤子。任何想法为什么发生这种情况我该如何解决它克隆回购,移动文件等...为什么我会得到“致命的:git status - 瓷器失败”?
回答
哦,亲爱的,我是这样的失败。它看起来像这个问题从Flash Builder复制比其他git的回购成子文件夹梗。答案是删除所有不是回购协议的.git文件夹。
我的回购中没有任何.git文件夹,但随时将我的新文件复制到我的文件夹中以更新我的应用程序,我仍然收到索引损坏的瓷器失败错误。我不明白如何更新文件会破坏这个或如何解决它。任何人都有进一步的见解呢?
万一它帮助别人,我只是遇到了同样的问题,发现在项目根目录下运行git init
修复了它。
我遇到了这个错误,因为损坏/未正确初始化的子模块(使用它自己的.git子文件夹)。我暂时删除了子模块文件夹,并在主项目的根目录中使用了git init
。解决了我的问题。
这也是我的原因,但除了删除子模块文件夹外,我还必须重新运行'git submodule init && git submodule update'。 – starkos 2017-03-29 12:22:35
我有同样的问题。在我的根项目的目录中运行git status
产生以下错误:
fatal: This operation must be run in a work tree
fatal: 'git status --porcelain' failed in submodule js/object-subscribe
在受影响的子模块(js/object-subscribe
)运行git status
会产生这样的错误:
fatal: This operation must be run in a work tree
在该子模块的文件夹中运行git init
为我做。
通常,蠢货,项目的根目录(git的/)
当你在一个CMS的工作,它可能在安装模块/插件携带的.git /目录中的git对元数据创建了一个隐藏目录具体的模块/插件
如果你不想使用git的子模块的功能,最快的解决办法删除除根git的元数据目录下的所有目录中的.git。 如果这样做,git将不会将这些模块视为项目子模块。
cd /path/to/your/project/code
find ./ | grep ".git/index"
位于删除一旦“git的”除了根一个所有目录,但如果你删除它初始化回购再次
我知道这是一个古老的线程,但我有同样的问题,最终以不同的方式解决。 git init
没有为我工作。 张贴在这里,以防其他人有用。
我的存储库有两个子模块。 垫底之后,我开始收到错误致命: - 陶瓷失败 git的状态。
解决方案是验证每个子模块config
文件中的属性worktree
- 例如, <repository-checkout>/.git/modules/<submodule-name>/config
。
我有一个worktree
属性的无效路径。它链接到已更改并合并到master
的未存在文件夹 - 可能是由于解决冲突时出错。
.git
是子模块中的文件,并指向位于根目录.git
目录中的目录。
在我的情况下,我在docker中挂载了一个git目录,并在那里检查状态。这个子模块的.git文件包含一个在docker中无效的绝对路径。我编辑了这个.git
文件到更改gitdir路径为相对路径。
Git版本:2.7.4
在我的情况下,使用git mv moduleA moduleB
用git 2.12.2移动moduleA/mySubmodule
到moduleB/mySubmodule
后,我跑进follwoing错误:
$ git status
fatal: Could not chdir to '[../]moduleA/mySubmodule': No such file or directory
fatal: 'git status --porcelain' failed in submodule mySubmodule
fatal: 'git status --porcelain' failed in submodule moduleB
然后我做的follwing(也许在没有这个顺序)
- 手动更新
.gitmodules
进入moduleB
- 输入
.git/modules
和重命名旧模块文件夹 - 输入
moduleB
和删除文件夹的子模块 - 运行
git submodule sync
和git submodule update
在那之后,我可能没有问题再次运行git status
。
- 1. 为什么我的“git push”到远程git项目失败
- 2. 为什么'git status'运行过滤器?
- 3. 为什么我的CloudFormation命令失败?
- 4. 为什么我的命令失败?
- 5. 为什么被拒绝的git push不会显示在'git status'中?
- 6. git-gui不同意git status:为什么?
- 7. git status和git diff空失败后git我
- 8. 为什么打开@Cacheable会导致我的事务失败?
- 9. git:“致命:执行内部合并失败”是什么意思?
- 10. MediaPlayer为什么会失败?
- 11. '致命:樱桃挑选失败'与Git
- 12. 为什么我的git推送到HostGator共享主机失败?
- 13. 这为什么会失败?
- 14. 为什么这会失败
- 15. SQLiteOpenHelper.onUpgrade为什么会失败?
- 16. 为什么我的匹配器失败?
- 17. 为什么斜线字符会导致我的选择器失败?
- 18. git:'http-push'不是git命令。致命:GIT-HTTP推送失败
- 19. 什么会导致游标失败?
- 20. 什么会导致TreeView_InsertItem失败?
- 21. 为什么我得到错误:命令'llvm-gcc-4.2'失败,退出状态1
- 22. Git致命︰索引包失败
- 23. 为什么我会得到egg_info错误?
- 24. 为什么我得到一个致命的错误?
- 25. 为什么我会得到一个GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT?
- 26. 为什么我不能得到be_nil试验Rspec的失败
- 27. 为什么我的PLSQL触发器验证不会失败?
- 28. 什么会导致我的mysqli连接功能失败?
- 29. 为什么git format-patch默默失败?
- 30. 为什么git-svn信号失败13?
我不知道我仍然有一些与旧的子模块相关的.git相关文件 - 在我删除它们之后,我又回到了黑色。 – electblake 2012-10-11 05:11:14
实际上,可能需要从'vendor'文件夹中移除仅有问题的依赖关系的'.git'文件夹。 在目标repo通过一些重新绑定之后,发生了'@ dev'依赖关系。 – hejdav 2015-06-04 07:08:05