核弹级的git指令 git filter-branch
这是一个可以修改提交历史的命令,威力很猛的后悔药。
1、彻底删除不需要的文件
比如一不小心把 node_modules 目录加入git仓库了,导致仓库很大 :
git filter-branch -f --prune-empty --index-filter "git rm --cached --ignore-unmatch -fr ./node_modules" -- --all
2、修改提交用户名
git filter-branch -f --env-filter "GIT_AUTHOR_NAME=fwindpeak" -- --all
3、修改提交邮箱
git filter-branch -f --env-filter "GIT_AUTHOR_EMAIL=fwindpeak@xxx.com" -- --all
注意,如果在windows下操作,必须用双引号。
其他更详细的操作,参考这里: https://git-scm.com/docs/git-filter-branch