无用的Git缓存/索引对象?

时间:2013-05-06 14:52:12

标签: git

在准备提交时,我git将文件f添加两次,仅在第二个版本中使用它进行提交。我可以从.git / objects中删除f的版本1吗?即使没有提交中间版本,.git / objects是否包含我的git的“无用”副本?我该如何清理?

1 个答案:

答案 0 :(得分:3)

git gc将自动为“某些命令”运行,但它也会说:

  

鼓励用户定期在每个存储库中运行此任务,以保持良好的磁盘空间利用率和良好的运行性能。

默认情况下,git gc会修剪2周大的无法访问的对象,但您可以使用--prune选项覆盖该持续时间。

要专门删除无法访问的对象,您可以使用git prune。从其笔记:

  

在大多数情况下,用户不需要直接调用git prune,而是应该调用git gc,它可以处理修剪以及许多其他内务处理任务。

     

有关考虑修剪哪些对象的说明,请参阅git fsck的--unreachable选项。