加载中...

如何清洗 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 !
  目录