git删除某个文件的所有历史commit
场景
之前该仓库为private,现在想要改为public可见,那么需要删除某些隐私文件以及其所有相关的历史commit。
例如需要删除yarn.lock
文件:
仅删除yarn.lock
并push是不对的,因为其他用户可以在commit中找到它。
我们需要删除yarn.lock
以及yarn.lock
所有commit记录。
git命令
1 | git filter-branch -f --tree-filter 'rm -rf yarn.lock' HEAD |