我的Mac上有一个由Xcode管理的本地git存储库。我最近创建了一个新的分支,从那时起,我做了很多改变。我正要执行对这个新分支的第一次提交,并出现了一个错误对话框:
工作副本“应用程序名”未能提交文件。
错误:无效对象100644
888688965……用于“支持文件/评论”
错误:生成树错误
我在互联网上搜索了一个解决方案,并找到了这个问题,这似乎是同一个问题。我试着回答这两个问题,但都没有为我解决问题。我已尽我所能解决这个问题,但没有成功。
git reset --hard
,这删除了未提交的更改,但是在这样做之后,我不能提交一个简单的更改。给出了完全相同的错误信息。工作副本“应用程序名”未能提交文件。
致命:无法阅读树781 d..。
在运行git fsck --full
之后,我看到了来自树的几个断开的链接,许多悬空的小块,几个缺失的小块,以及两个缺失的树。
git for-each-ref --format='%(refname)' | while read ref; do git rev-list --objects $ref >/dev/null || echo "in $ref"; done
的结果
致命:缺失blob对象'8886889658056c4ce52d46a485933c8df7a4de84‘
参考文献/标题/UniversalStoryboard
致命:缺失blob对象'8886889658056c4ce52d46a485933c8df7a4de84‘
参考文献/标题/最新情况1
致命:缺失blob对象'8886889658056c4ce52d46a485933c8df7a4de84‘
参考文献/标题/iOS-8-更新
致命:缺失blob对象'8886889658056c4ce52d46a485933c8df7a4de84‘
参考文献/主管/硕士
在尝试克隆回购之后,以下是记录的内容:
错误:无法读取appname/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png的sha1文件(86672e7a0a0d5ad36563feef30c15a5d31f921802)
错误:无法读取appname/Images.xcassets/AppIcon.appiconset/Icon-Small.png的sha1文件(86672e7a0a0d5ad36563feef30c15a5d31f921802)
错误:无法读取appname/Images.xcassets/LaunchImage.launchimage/DefaultPortrait@2x.png的sha1文件(7d97eba35cf392ddb1a705109b721fcd6a20ea29)
错误:无法读取appname/appname的sha1文件-前缀. file (82abb45076d290ce7461b28d5a579e649777779)
致命:无法签出工作树
警告:克隆成功,但签出失败。
在这一点上,我愿意做任何事情,以防止不得不破坏整个git存储库并重新开始。我不想失去我的分支和历史。如何解决这个问题?,我有一个项目目录的工作副本,就像我第一次发现这个错误以及这个项目的整个历史的时间机器备份时一样。你能提出的任何建议都是值得赞赏的。
发布于 2014-08-12 06:09:49
一个解决办法是:
如果您以前推动了您的回购,尝试克隆远程回购而不是本地回购。
或者尝试克隆回购,通过时间机器保存。
如果这不起作用,那么您就有了一个破损回购,您可以尝试一些在"树包含重复的文件条目。“中公开的方法。
发布于 2014-08-13 02:00:58
你换过git版本了吗?您只使用Xcode附带的版本,还是在终端中安装了过时的版本?一个可能会腐蚀回购的人。(试试'git --版本‘-- 当前版本是2.0.4,很容易用自制软件安装)。
回购文件夹中是否有阻止git工作的奇怪权限?
https://stackoverflow.com/questions/24989005
复制相似问题