怎样可以清除GitHub中不想要的commit,并使他不占空间(强迫症)
有三种方式可以消除commit,但是都无法彻底删除相应文件空间: git reset
, git revert
, git rebase -i
关于删除空间,可以先查看哪些文件占的空间较大:
1 | git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" |
然后删除对应的文件
1 | git filter-branch --force --index-filter \ |
再彻底从commit中抹掉该文件的记录:
1 | git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin |
最后提交到远程:
1 | git push --force --verbose --dry-run |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jeromy's Blog!
评论