【问题标题】:git remote pack file is larger than local pack filegit远程包文件大于本地包文件
【发布时间】:2016-05-07 22:56:46
【问题描述】:

我在我的服务器上使用 gitlab 主机。 在服务器上,一个仓库的包文件大小是500MB,但是当我将它克隆到本地时,我发现本地包文件大小是250MB。这是个问题吗?

【问题讨论】:

  • 我在服务器上运行git gc,包变成了250MB。但是为什么remote上的pack文件会变得这么大呢? this question中的答案提到a remote repo shouldn't need all that much garbage collection....

标签: git


【解决方案1】:

一台服务器,一个仓库的包文件大小是500MB,但是当我将它克隆到本地时,我发现本地包文件大小是250MB。这是个问题吗?

包的大小在远程服务器和本地服务器上可能不同。
这根本不是问题,但如果你有大包文件,你的存储库性能会受到影响。

每次 git 提交代码时,它也应该被添加到包中。 Git 将数据存储在 2 个主文件中。 .pack && .idx。包文件是存储库的内容,而索引是内容到文件名之间的映射。

如果您在.git/objects/pack 下查看,您可能会看到几个包文件。
在这种情况下,您应该“告诉” git 使用 :

优化存储库
git gc --aggressive --prune=now

此命令将重新打包存储库的内容,并使用--prune=now 选项将“超级”优化您的存储库大小。

--prune=<date>

修剪早于日期的松散对象(默认为 2 周前,可由配置变量 gc.pruneExpire 覆盖)。 --prune=all 修剪松散的物体,不管它们的年龄。 --prune 默认开启。

【讨论】:

    【解决方案2】:

    这不一定是问题。您可以使用git cat-file 作为shown here 来比较您的树的细节。

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 2022-11-17
      • 2018-08-02
      • 2015-08-12
      • 1970-01-01
      相关资源
      最近更新 更多