bat: 清空git仓库的历史提交记录

有时候不知不觉就往仓库里提交了一些包含敏感信息的文件,例如数据库连接信息或者是一些账号密码信息。由于会清空仓库的历史提交记录,故不建议在正式项目中使用,只推荐在个人的小项目中万不得已再用这招。

@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
暂无评论

发送评论 编辑评论


				
上一篇
下一篇