当我开始从事我的Python项目之一时,我忘记将venv
虚拟环境目录添加到.gitignore中。现在,我的GitHub存储库正在显示该提交中的添加和删除,并不能使我很好地了解何时进行了重大更改(venv
目录包含100,000多行代码)。
我已经updated my .gitignore个文件并运行git rm --cached .
,然后运行git add
,commit
和push
。
有什么方法可以删除我的venv
目录已更改的所有先前提交中的添加和删除,以便GitHub不再在提交中计算这些添加/删除?我想保留不包含venv
的提交部分,而只删除提交的venv
部分。
答案 0 :(得分:1)
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch venv"
请记住,这会重写分支的整个历史记录,因此您必须强制推送分支并通知所有用户,以便他们强制拉动分支。