sh git fatfiles,从git存储库中删除对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh git fatfiles,从git存储库中删除对象相关的知识,希望对你有一定的参考价值。

#http://dalibornasevic.com/posts/2-permanently-remove-files-and-folders-from-a-git-repository

# find fat files
git rev-list --objects --all |
    while read sha1 fname
    do 
        echo -e "$(git cat-file -s $sha1)\t$\t$fname"
    done | sort -n
    
# find fat files2: 
git rev-list --all --objects | \     sed -n $(git rev-list --objects --all | \     cut -f1 -d' ' | \     git cat-file --batch-check | \     grep blob | \     sort -n -k 3 | \     tail -n40 | \     while read hash type size; do           echo -n "-e s/$hash/$size/p ";     done) | \     sort -n -k1 


... 
89076 images/screenshots/properties.png 
103472 images/screenshots/signals.png 
9434202 video/parasite-intro.avi 

#git-eradicate (for video/parasite.avi):  
git filter-branch -f  --index-filter \     'git rm --force --cached --ignore-unmatch video/parasite-intro.avi' \      -- --all rm -Rf .git/refs/original && \     git reflog expire --expire=now --all && \     git gc --aggressive && \     git prune


# remove specific file/folder by pattern
git filter-branch --tree-filter 'git rm -r -f --ignore-unmatch *.pyc' HEAD

以上是关于sh git fatfiles,从git存储库中删除对象的主要内容,如果未能解决你的问题,请参考以下文章

sh 从git存储库中永久删除文件/文件夹的脚本

sh Untrack文件已经基于.gitignore添加到git存储库中

git - 是不是可以从“git push”中排除文件,但将它们保存在本地存储库中?

如何从 git 存储库中删除源

如何从 git 存储库中删除文件而不实际删除文件 [重复]

如何从 Git 存储库中删除文件?