相关疑难解决方法(0)

推送时出现Git错误:object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:包含指向null的条目

我不确定自己是如何陷入这个烂摊子的.但是我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) …

git version-control git-submodules

14
推荐指数
1
解决办法
5790
查看次数

如何在Git树中删除null sha1的条目

我为树中的提交条目继承了一个带有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子模块,而且似乎导致问题的提交就是删除了.gitmodulesSomeDirectory.现在,有一个真正的目录SomeDirectory在罪魁祸首的完全相同的地方被调用.
我虽然我仍然可以尝试修复运行a git filter-branch以查看我最终会得到什么,但它不起作用:

$ git filter-branch --force --index-filter \
$ 'git rm --cached --ignore-unmatch SomeDirectory' \ …
Run Code Online (Sandbox Code Playgroud)

git git-filter-branch atlassian-fisheye

8
推荐指数
1
解决办法
9329
查看次数