git - 是否可以在不更改历史记录的情况下从 Git 中删除旧文件?
问题描述
我已经看到过其他类似的问题,关于从 Git 中删除旧文件。但是,我发现的所有解决方案都包括重写历史,这意味着必须涉及强制推动,其他开发人员会遇到问题。
是否可以从 Git 的对象数据库中删除文件以在克隆时减少存储库大小而无需更改历史记录?这里明显的问题是当您签出出现已删除文件的提交时会发生什么,但我对 Git 向我显示文件丢失的警告消息很好。Git 能做到吗?
解决方案
你不能同时拥有它——如果文件是历史的一部分,它将占用空间。如果你不希望它占用空间,它就不能成为历史的一部分。
如果您担心克隆的速度,您可以通过在命令中添加类似 或 的标志来克隆最新的提交--depth
。
然后,在您确实需要及时回溯的边缘情况下,您可以显式获取丢失的提交。--shallow-since
git clone
推荐阅读
- html - 在引导程序中,当屏幕缩小宽度时,我可以将垂直 col-lg-2 转换为水平行吗?
- c# - 如何在 ASP.net 4.0 C# 中隐藏地址栏 URL?
- ruby - 有没有办法在 Ruby 中创建动态变量名?
- c++ - 如何使用 qRegisterMetaType 而不是 Q_ENUM?
- php - Codeigniter 表单后控制器建议
- c# - DICOM 切片保存为 PNG 时损坏
- javascript - 为什么只有当我直接在 HTML 中输入 CSS 样式“可见性:可见”时,它才会出现在我的节点列表中?
- apache-flink - 合并重新平衡的分区
- jsp - 使用 JSTL 将字符串的某个元素更改为可点击的链接
- driver - HLK 测试失败(HyperVisor 代码完整性准备测试)