有时候在项目里面推送了不应该推送的东西,例如一些配置文件,如数据库密码等等,或者是项目部署文件,这时候你想把他们全部删掉,但是别人的仓库里面有这个备份,你需要做的是把你本地仓库里面的所有与这些不想推送上去的文件从全部分支里面全部删掉,然后强制推送到远程。
删除所有提交记录:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch config.php' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch db_baixiu.sql' --prune-empty --tag-name-filter cat -- --all
删完之后,强制推送到远程:
git push origin master --force
修改分支名:
git branch -m old new