首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从git历史记录中删除不再存在的文件?

如何从git历史记录中删除不再存在的文件?
EN

Stack Overflow用户
提问于 2022-04-07 07:06:35
回答 1查看 167关注 0票数 -2

几个月前,我们已经从SVN变成了GIT ( bitbucket ),现在我们收到了一个警告,即我们的git存储库正变得越来越大(目前为2.2GB )。但是,当我检查本地大小时,我们的项目只有+- 600 in的大小。这是一个已经开发了6年多的项目,所以有很多提交(历史),特别是像.jar viles这样的文件,它们被添加了,而不是被删除,用更新的版本来替换等等。它们已经不存在于我们当前的项目中了,但是它们仍然处于git历史中,占用了不需要的空间,因为我们再也不用它们了。我正在寻找一种方法来删除当前项目中不存在的所有已删除的文件,并从git提交历史中完全删除它们(并不是所有已被删除的文件)。我知道有'git-filter‘命令从提交历史中删除一个文件,但据我所见,您必须指定要删除的文件,而我不知道在我们的项目中有多少/ wich文件被删除了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 07:38:15

您可以使用命令git filter-branch

代码语言:javascript
复制
git filter-branch --index-filter \
    'git rm -rf --cached --ignore-unmatch path_to_file' HEAD

小心点,因为你会改写你的存款记录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71777713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档