从存储库中删除后,从以前的所有提交中删除virtualenv文件

时间:2019-02-18 15:11:55

标签: git github commit

当我开始从事我的Python项目之一时,我忘记将venv虚拟环境目录添加到.gitignore中。现在,我的GitHub存储库正在显示该提交中的添加和删除,并不能使我很好地了解何时进行了重大更改(venv目录包含100,000多行代码)。

我已经updated my .gitignore个文件并运行git rm --cached .,然后运行git addcommitpush

有什么方法可以删除我的venv目录已更改的所有先前提交中的添加和删除,以便GitHub不再在提交中计算这些添加/删除?我想保留不包含venv的提交部分,而只删除提交的venv部分。

1 个答案:

答案 0 :(得分:1)

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch venv"

请记住,这会重写分支的整个历史记录,因此您必须强制推送分支并通知所有用户,以便他们强制拉动分支。