几个月前,我们已经从SVN变成了GIT ( bitbucket ),现在我们收到了一个警告,即我们的git存储库正变得越来越大(目前为2.2GB )。但是,当我检查本地大小时,我们的项目只有+- 600 in的大小。这是一个已经开发了6年多的项目,所以有很多提交(历史),特别是像.jar viles这样的文件,它们被添加了,而不是被删除,用更新的版本来替换等等。它们已经不存在于我们当前的项目中了,但是它们仍然处于git历史中,占用了不需要的空间,因为我们再也不用它们了。我正在寻找一种方法来删除当前项目中不存在的所有已删除的文件,并从git提交历史中完全删除它们(并不是所有已被删除的文件)。我知道有'git-filter‘命令从提交历史中删除一个文件,但据我所见,您必须指定要删除的文件,而我不知道在我们的项目中有多少/ wich文件被删除了。
发布于 2022-04-07 07:38:15
您可以使用命令git filter-branch
git filter-branch --index-filter \
'git rm -rf --cached --ignore-unmatch path_to_file' HEAD小心点,因为你会改写你的存款记录。
https://stackoverflow.com/questions/71777713
复制相似问题