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