git - 如何从 git 存储库中完全删除文件?

标签 git

我最近注意到,我的文本编辑器使用的项目文件(连同其他一些垃圾)被添加到该项目的 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/

相关文章:

Github:在提交历史记录中显示标签

node.js - Node.js 中的 Git Web 界面

bash - 如何使用 bash 脚本输出提交次数?

git - 如何正确更新 package-lock.json 文件中的 mem 包

git - 使用非罗马化语言的 git?

javascript - 创建atom插件,从github导入

git - 如何接受差异文件的修订?

git rebase -i 显示一个空的 MacVim 文件

ruby-on-rails - 如何撤消 bundle install --deployment?

git - 如何将 "git push"转到私有(private)存储库并提示输入用户名和密码?