And*_*inn 14 git version-control git-submodules
我不确定自己是如何陷入这个烂摊子的.但是我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) error: failed to push some refs to 'git@github.com:andyshinn/puppet.git' Everything up-to-date
Git ls-tree显示我的sudo模块是null sha1:
[ashinn@puppet1 puppet]$ git ls-tree 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22 ... 160000 commit 2cc9d02b3cf27d6a06d85612c03710aa0d90149c ssh 160000 commit 6961179007dce76d7fb9bd1fc361273acb4129a7 stdlib 160000 commit 0000000000000000000000000000000000000000 sudo 040000 tree 2bd16a8fab440081a876f64d720b5b4d9d119bc9 sysctl 040000 tree 01439b5a20363dccdf3f7103aab701fa7f4b3cd9 template ...
所列出的ssh,stdlib以及sudo是外部的git回购的子模块.文件夹sysctl和templaterepo中的文件夹.
我已经尝试删除模块并重新添加它,现在似乎无法推送任何提交.我做了一些搜索,发现错误很少.我该如何解决这个错误?
我终于能够解决这个问题了.以下是我要解决的问题:
在文章https://help.github.com/articles/remove-sensitive-data中,有一个标题可以从您的仓库中清除文件.我按照他们的示例删除了Rakefile,但使用了有问题的文件夹:
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch modules/sudo' --prune-empty --tag-name-filter cat -- --all
由于有问题的树是我添加-r到命令的文件夹.结果是清理了sudo modiles的所有提交,因此,对象15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22消失了!提交更改后,推送成功.我以后能够毫无问题地重新添加损坏的模块.
| 归档时间: |
|
| 查看次数: |
5790 次 |
| 最近记录: |