假如你把敏感信息推送到 master 分支上了。
你可以先备份本地代码,然后回滚到敏感信息 commit 之前的一次 commit:
git reset --hard HEAD~1
然后新建一个分支,比如是 new-master ,然后把代码推送到这个分支
git checkout -b new-master git push origin new-master:new-master
然后把主分支删掉,然后重建出来:
git push origin --delete master git branch -d master git checkout -b master git push origin master
然后把代码推上去,再把 new-master 给删除掉。
此外,你如果想把其他的提交历史迁移过来,可以利用类似的方式。先不做 reset 操作,重建 master 分支后,从 new-master 使用 cherry-pick 将没有关联到隐私信息的内容拉过来。
如果你是把代码推送到 GitHub 上,想把 log 删除掉,那可以联系 GitHub 的管理员。