加载中...

如何清洗 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 !
 上一篇
修改 Git 仓库的连接协议 修改 Git 仓库的连接协议
本文介绍了如何将 Git 仓库的连接协议从 HTTP 修改为 SSH,以解决国内访问 Github 时因网络限制导致的连接缓慢或失败问题、实现与 Github 的高效通讯。
下一篇 
使用 seafile 搭建私人云盘 使用 seafile 搭建私人云盘
Seafile 是一款开源企业级云盘,支持文件同步与本地挂载,性能可靠。使用 Seafile 搭建私人云盘,可解决限速、隐私泄露及文件共享不便等问题。
2021-01-21
  目录