首页 > 解决方案 > 是否可以在不更改历史记录的情况下从 Git 中删除旧文件?

问题描述

我已经看到过其他类似的问题,关于从 Git 中删除旧文件。但是,我发现的所有解决方案都包括重写历史,这意味着必须涉及强制推动,其他开发人员会遇到问题。

是否可以从 Git 的对象数据库中删除文件以在克隆时减少存储库大小而无需更改历史记录?这里明显的问题是当您签出出现已删除文件的提交时会发生什么,但我对 Git 向我显示文件丢失的警告消息很好。Git 能做到吗?

标签: git

解决方案


你不能同时拥有它——如果文件是历史的一部分,它将占用空间。如果你不希望它占用空间,它就不能成为历史的一部分。

如果您担心克隆的速度,您可以通过在命令中添加类似 或 的标志来克隆最新的提交--depth。 然后,在您确实需要及时回溯的边缘情况下,您可以显式获取丢失的提交。--shallow-sincegit clone


推荐阅读