如何清洗 Github 提交历史 ?


当 Github 的 Repo 变得日益臃肿、或者上传了敏感内容时,常见的方法时清理相关文件的所有历史提交记录:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ${FILEPATH}' --prune-empty --tag-name-filter cat -- --all
git push origin master --force
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

但若这类文件非常多的时候,一个可选的方法时直接清空所有历史记录:

rm -rf .git
git init
git add -A
git commit -m "clear history"
git remote add origin ${GITHUB_REPO_URL}
git push -f -u origin master

文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
使用 mstream 搭建私人云音乐库 使用 mstream 搭建私人云音乐库
概要你是否面临以下困扰: 想听以前某首音乐的时候,网上已经找不到了 即使网上找到了,因为版权原因无法在线听、甚至无法下载 可以在线听,但是要收费 在家、公司、手机都要专门为不同的音乐软件设置同一个曲库 …… 其实只需要使用 mStrea
2021-01-23
下一篇 
使用 seafile 搭建私人云盘 使用 seafile 搭建私人云盘
概要你是否面临以下困扰: 免费云盘越来越少了 百度云盘限速越来越过分了 上传到云盘的文件被服务商泄露了、删掉了 不得已用 U 盘、QQ 给小伙伴共享文件 …… 其实只需要使用 seafile 搭建一个私人云盘,这些问题就迎刃而解了:Se
2021-01-21
  目录