我最近注意到,文本编辑器使用的项目文件(以及其他一些垃圾邮件)已为该项目添加了git存储库。由于它们实际上不是项目的一部分,因此我想删除它们,但git rm不从存储库中删除旧版本,因此我找不到其他看起来很有希望的东西。
Answers:
您想要的工具是git filter-branch。这里描述了它的用法,但基本上是:
$ git filter-branch --tree-filter 'rm -f my_file' HEAD
将从每个提交中删除“ my_file” 。
请注意,这会重写每个提交,因此,如果您推送到远程存储库,则必须(a)强制执行更新,并且(b)从您那里拉出的其他所有人现在都将具有重复的提交(因为您重写了历史记录),如下所示:在git rebase手册页上描述。
--prune-empty这样生成的所有空提交也将被删除。
git push --force怎么办?@mipadi