强制复位到上一个版本
git fetch --all git reset --hard origin/master git reset --hard HEAD git reset --hard HEAD~2
从历史版本中批量删除指定文件
参考: https://help.github.com/cn/github/authenticating-to-github/removing-sensitive-data-from-a-repository
# 删除指定的文件,以及因此生成的任何空提交
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA FILE2 FILE3..." \
--prune-empty --tag-name-filter cat -- --all
# 然后可以建立 gitignore
# 上传前注意检查数据
# 上传
git push origin --force --all
git push origin --force --tags
# 重新clone仓库 实现本地仓库的垃圾回收
在所有历史版本中搜索
参考: https://stackoverflow.com/questions/2928584
git rev-list --all | xargs git grep -i WORDS_REGEXP