有时候不知不觉就往仓库里提交了一些包含敏感信息的文件,例如数据库连接信息或者是一些账号密码信息。由于会清空仓库的历史提交记录,故不建议在正式项目中使用,只推荐在个人的小项目中万不得已再用这招。
@echo off
setlocal enabledelayedexpansion
git rev-list --objects --all
git checkout --orphan new
git add .
git commit -m "new"
:: 删除并重命名分支
git branch -D main
git branch -m main
:: 强制推送到main分支
git push -f origin main
:: 如果你需要顺带覆盖其它的git远程仓库
:: git push -f 远程仓库名称 main
:: 设置上游分支并拉取更新
git branch --set-upstream-to=origin/main main
git pull
:: 再次列出所有对象
git rev-list --objects --all
echo 所有操作已完成。
endlocal