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