我最近注意到,我的文本编辑器使用的项目文件(连同其他一些垃圾)被添加到该项目的 git 存储库中。因为它们实际上不是项目的一部分,所以我想删除它们,但是 git rm
不会从存储库中删除旧版本,而且我找不到其他看起来有希望的东西。
最佳答案
你需要的工具是git filter-branch
。描述了它的用法 here ,但基本上:
$ git filter-branch --tree-filter 'rm -f my_file' HEAD
将从每个 提交中删除“my_file”。
请注意,这会重写每个提交,因此如果您推送到远程存储库,您必须 (a) 强制更新,并且 (b) 从您那里 pull 的其他人现在将有重复的提交(因为您重写了历史记录),如 git rebase
man page 中所述.
关于git - 如何从 git 存储库中完全删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458685/