不小心提交到Git远程仓库的文件,怎么完全从仓库中清除?

不小心提交到Git远程仓库的文件,怎么完全从仓库中清除?

安辰
2023-05-20 0 评论 33 阅读 正在检测是否收录...
温馨提示:
本文最后更新于2023年07月26日,已超过276天没有更新,若内容或图片失效,请留言反馈。

使用 Git 做代码版本控制时,有时候会不小心把某些敏感的文件提交到 Git 仓库,可能过后很久才发现。或者是以前提交的文件,现在发现不合适,需要从仓库中清理。 如果但是删除文件,然后提交的话,还是可以从仓库的历史记录中找出这个文件,这个问题就比较严重了。
所以,如果要彻底从 Git 仓库中删除某个文件可以用如下操作:

git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch path_to_file' HEAD

其中 path_to_file 就是你要删除的文件在项目中的相对路径,例如:src/main/resource/application.yml
执行此命令后,git 会遍历整个仓库的历史记录找出这个文件,清理,然后重新构造 git 的历史链条。
接下来强推就行了 git push -f 这样远程仓库上也不会再存在这个文件了。

1

评论 (0)

取消