【问题标题】:how to reduce server git repo size when delete a branch删除分支时如何减少服务器git repo大小
【发布时间】:2013-12-18 15:07:41
【问题描述】:

我使用 gitlabhq 配置了一个 git 服务器。 所有 Repos 都保存在服务器的/repos/ 目录中。

我有一个项目,有一个分支,这个分支有大文件。 为了节省磁盘空间,我删除了这个分支使用git push origin :test

但是当我去我的 git 服务器时,发现这个项目的 repo 大小没有改变。

所以我的问题是如何在删除分支时减少服务器 git repo 的大小?

我用过 git filter-branch --tree-filter 'rm -f bigfile.zip' HEAD,好像也不能 减少服务器 git repo 的大小。

【问题讨论】:

  • GC 并在服务器上重新打包。虽然如果提交仍然可以访问,你可能是 SOL。
  • 你能告诉我关于git GC和repack的详细命令吗?
  • git help gcgit help repack。如果您有更具体的问题,请提出这些问题。
  • 我的问题是什么时候进入你的项目git目录在服务器中。cd /repos/grant/test.git/运行哪个命令可以删除分支以减小目录(/repos/grant/test.git)的大小?
  • 您尝试过这里的建议吗?什么有效?什么没用?您确定删除了对分支的所有引用吗?

标签: git github


【解决方案1】:

我已经通过在服务器中运行以下命令解决了它。

bash git gc --aggressive --prune=now

【讨论】:

  • 嗨,我有 3 种类型的分支 1) 本地分支也在远程,2) 本地分支不在远程,3) 我从本地删除的分支。我只想清除已删除的分支的空间。这个命令只会删除“3”而不是 2 吗?
【解决方案2】:

删除对它的所有引用(包括来自 HEAD 的 reflog),然后执行git gc

据我所知,git push 不提供此功能,应在服务器上完成。

【讨论】:

    猜你喜欢
    • 2019-11-26
    • 2015-12-07
    • 2021-10-10
    • 1970-01-01
    • 2013-03-20
    • 2011-02-18
    • 2017-01-10
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多