从 GitHub 之前的提交中删除 .gitignore 文件

Removing .gitignore files from previous commits in GitHub

我最近向我的 .gitignore 添加了一个文件,但我的存储库包含包含该文件的先前提交。由于使用

,从这里开始的提交不再跟踪被忽略的文件
git rm --cached config/secrets.yml

是否有一个快速的 git 命令可以遍历我以前的所有提交并将该文件从我的提交历史记录中删除?

这并不容易。您必须完成每次提交并删除该文件。记住这会修改历史,如果你与他人合作,请小心。

这是来自 GitHub 的关于如何删除敏感数据的指南:https://help.github.com/articles/remove-sensitive-data/

结果命令应该是:

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch config/secrets.yml' \
--prune-empty --tag-name-filter cat -- --all