之前使用Github
仓库做图床,有一次想要clone
下来做下备份,发现提交记录过多,太占用地方了.
就想着清理一下.
请谨慎对待每一次Commit
!
Git清理全部Commit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| git checkout --orphan latest_branch
git add -A
git commit -m "提交说明"
git branch -D master
git branch -m master
git push -f origin master
|
Git删除指定文件及其历史记录
注意:文件路径千万不要以/
开头!否则就不是相对路径了!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch <你要删除的文件路径(相对于项目根目录)>' --prune-empty --tag-name-filter cat -- --all
git push origin master --force --all
git push origin master --force --tags
rm -rf .git/refs/original/ git reflog expire --expire=now --all git gc --prune=now git gc --aggressive --prune=now Bash
|
1 2 3 4 5 6 7
|
git tag | grep "<你要删除的tag包含的关键字>" |xargs git tag -d
git show-ref --tag | grep "<你要删除的tag包含的关键字>"| awk '{print $2}'|xargs git push origin --delete
|
其他
原文: https://www.idzd.top/archives/2562/