3

我们在管道中使用 Opscode Chef,我们注意到部署(请参阅http://docs.opscode.com/resource_deploy.html)将我们的源代码的完整副本创建到 /shared/cached-copy

它的 .git/object 文件夹中已经有近千个完整版本(不仅仅是增量!),因此文件大小增长和增长。

有什么办法可以清理甚至完全防止这种情况?我们根本不需要它。

当然,我可以在每次部署后写一些东西来删除目录,但是有没有好的方法来处理这个?谢谢。

4

2 回答 2

1

我们看到了一些不同的东西。在我们的例子中,我们使用子模块。删除子模块时, git pull 不会删除旧的子模块目录。所以我们只剩下垃圾了。缓存副本被复制到带有这个额外代码的版本中。

于 2013-09-26T13:21:10.923 回答
1

缓存副本是有目的的,当 git 从远程拉取更改时,缓存副本仅用于拉取丢失的内容,仅此而已。然后这个缓存的副本使用 git 克隆到一个新的修订版本,当 git 克隆同一个磁盘上的存储库时,它会创建硬链接——所以你的 .git/objects 不会重复,它们是所有“副本”共享的相同文件。我建议你不要动这个目录,它实际上很重要。

于 2013-04-01T01:11:00.767 回答