Git 忽略早期提交中的目录

Git 忽略早期提交中的目录,git,gitignore,git-commit,Git,Gitignore,Git Commit,对于我将来的所有提交,我都会忽略一个目录,因为我不必跟踪那里的更改。在这个目录中有一堆图像,因为我之前已经提交了很多关于这个目录的内容,所以我的存储库超过270MB。我是否可以从以前的提交中删除映像目录,以减小存储库的文件大小?我在上找到了这个,这应该对您有用(需要一段时间): 我首先使用由编写的命令修复了它 这将从提交历史记录中删除文件,但不会更改存储库的文件大小。为此,我运行了这些命令,找到了 请记住,这会重写历史,因此会让所有分叉/克隆您的代码的人不高兴。但除此之外,这是一种从提交历史记录

对于我将来的所有提交,我都会忽略一个目录,因为我不必跟踪那里的更改。在这个目录中有一堆图像,因为我之前已经提交了很多关于这个目录的内容,所以我的存储库超过270MB。我是否可以从以前的提交中删除映像目录,以减小存储库的文件大小?

我在上找到了这个,这应该对您有用(需要一段时间):


我首先使用由编写的命令修复了它

这将从提交历史记录中删除文件,但不会更改存储库的文件大小。为此,我运行了这些命令,找到了


请记住,这会重写历史,因此会让所有分叉/克隆您的代码的人不高兴。但除此之外,这是一种从提交历史记录中删除文件的方法,但不会影响存储库的文件大小。运行git的垃圾回收或克隆过滤后的repo。
git filter-branch --tree-filter 'rm -rf images' HEAD
git filter-branch --tree-filter 'rm -rf images' HEAD
rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now