我不确定自己是如何陷入这个烂摊子的.但是我error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null试图将我的存储库推送到GitHub时遇到了.全力推动:
[ashinn@puppet1 puppet]$ git push Counting objects: 27, done. Delta compression using up to 2 threads. Compressing objects: 100% (11/11), done. Writing objects: 100% (16/16), 5.67 KiB, done. Total 16 (delta 6), reused 14 (delta 4) error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null sha1 fatal: Error in object error: unpack failed: index-pack abnormal exit To git@github.com:andyshinn/puppet.git ! [remote rejected] ganglia -> ganglia (unpacker error) ! [remote rejected] master -> master (unpacker error) …
我为树中的提交条目继承了一个带有null sha1的git存储库,从而阻止FishEye对存储库编制索引.
$ git fsck
Checking object directoriies: 100%(256/256), done.
warning in tree db22a67df70dc4ff90ec4cd666da91e9c2cb0d9:
contains entries pointing to null sha1
Checking objects: 100% (416532/416532), done.
Checking connectivity: 416532, done.
Run Code Online (Sandbox Code Playgroud)
寻找给定的树给我以下结果:
$ git ls-tree db22a6
100644 blob e615f18b55a39f2719112ce209c2505dd92d8e75 .gitignore
100644 blob ac852f06c5a04420356c1d5efca44d9a864e78b0 .project
160000 commit 0000000000000000000000000000000000000000 SomeDirectory
100644 blob 631c17e28026261a2ccf6bc570842cf4af9f181c GoDeploy.bat
100644 blob 40e992ab5c3868af2910135c3ac4610c3646e7f8 pom.xml
Run Code Online (Sandbox Code Playgroud)
回顾一下历史,我发现这SomeDirectory最初是一个git子模块,而且似乎导致问题的提交就是删除了.gitmodules和SomeDirectory.现在,有一个真正的目录SomeDirectory在罪魁祸首的完全相同的地方被调用.
我虽然我仍然可以尝试修复运行a git filter-branch以查看我最终会得到什么,但它不起作用:
$ git filter-branch --force --index-filter \
$ 'git rm --cached --ignore-unmatch SomeDirectory' \ …Run Code Online (Sandbox Code Playgroud)