git如何清除所有的commits(提交记录/历史版本)

tetsai
原创声明
本文由tetsai原创,转载请注明来源
commit多了,有大量的多余数据,这时需要清理
过程挺麻烦,建议整合成一个sh脚本
- git checkout --orphan latest_branch
- git add -A
- git commit -am "commit message"
- git branch -D master
- git branch -m master
- git push -f origin master
- git branch --set-upstream-to origin/master master
解释:
- 将当前分支切换到 latest_branch
- 把所有文件添加到当前分支
- 设置commit注释
- 删除主分支master(此时只剩下latest_branch)
- 将latest_branch重命名为master
- 强制push,用当前内容,冲刷掉git的内容(此处无法反悔)
- 重新初始化分支结构(?不太清楚,反正缺少这一步就出错)
做成sh脚本就好玩了:
#/bin/sh #自己替换cd的内容 cd ??? git checkout --orphan latest_branch git add -A git commit -am "commit message" git branch -D master git branch -m master git push -f origin master git branch --set-upstream-to origin/master master
亲测这些命令是可以清除掉commits的,但是不能反悔,建议备份。