Git 永久删除文件

发布时间: 更新时间: 总字数:353 阅读时间:1m 作者: IP上海 分享 网址

Git永久删除文件,可以将git仓库中的私密信息删除,如密码、私钥等信息

永久删除文件

要删除的文件是id_rsa,运行如下命令:

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch id_rsa' \
--prune-empty --tag-name-filter cat -- --all

参数说明:

  • filter-branch 是让git重写每一个分支
  • --force 假如遇到冲突也让git强制执行
  • --index-filter 选项指定重写的时候应该执行什么命令,要执行的命令紧跟在它的后面,在这里就是git rm --cached --ignore-unmatch id_rsa,让git删除掉缓存的文件,如果有匹配的
  • --prune-empty 如果因为重写导致某些commit变成了空(比如修改的文件全部被删除),忽略掉这个commit
  • --tag-name-filter 表示对每一个tag如何重命名,重命名的命令紧跟在后面,当前的tag名会从标注输入送给后面的命令,用cat就表示保持tag名不变。
  • -- 表示分割符
  • --all 表示对所有的文件都考虑在内。

已经commitgit仓库,再运行如下命令永久删除远端上的文件:

git push --all --force
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数