我最近在我的.gitignore中添加了一个文件,但我的存储库包含以前提交的包含该文件的提交。由于使用
,从此处开始提交不再跟踪被忽略的文件git rm --cached config/secrets.yml
是否有一个快速git命令将遍历我以前的所有提交并删除该文件在我的提交历史记录中显示?
答案 0 :(得分:1)
这并不容易。您必须完成每个提交并删除该文件。请记住,这将修改历史记录,如果您与他人合作,请务必小心。
以下是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