【问题标题】:How to reduce git repository size [duplicate]如何减少 git 存储库大小 [重复]
【发布时间】:2020-04-23 20:27:28
【问题描述】:

之前我将一些大文件推送到 git 分支,这增加了存储库的大小。后来我从那个分支中删除了那些多余的文件,

git rm big_file
git commit -m 'rm bg file'
git push origin branch-name

但是 git 存储库的文件大小保持不变。

然后我尝试使用this 方法清除提交历史,但没有成功,repo 大小仍然相同。

【问题讨论】:

标签: git gitlab


【解决方案1】:

您仅从上次提交中删除了大文件,您还需要从之前的提交中删除它,否则您的存储库大小不会减少。

您应该使用此工具来清理您的存储库历史记录:

https://rtyley.github.io/bfg-repo-cleaner/

它是完成此类任务的完美工具。

BFG 回购清洁剂

git-filter-branch 的替代品。

BFG 是 git-filter-branch 的一种更简单、更快速的替代方案,用于从 Git 存储库历史记录中清除 不良数据

  • 删除疯狂的大文件
  • 删除密码、凭据和其他私人数据

示例(来自官方网站)

在所有这些示例中,bfg 是 java -jar bfg.jar 的别名。

# Delete all files named 'id_rsa' or 'id_dsa' :
bfg --delete-files id_{dsa,rsa}  my-repo.git

【讨论】:

  • 我已经尝试过this,所以早期的提交已经被清除,其中包含大文件,甚至过滤分支尝试只重写孤立分支的当前提交
【解决方案2】:

此 Atlassian 文档与所有 git 产品的工作方式或多或少相同:https://confluence.atlassian.com/bitbucket/maintaining-a-git-repository-321848291.html 它包括 BFG 和 git filter 分支方法。 我以前使用过 BFG 和过滤器分支方法。 BFG 工作正常。 该文档还有助于避免此类提交 https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html

【讨论】:

    猜你喜欢
    • 2011-01-08
    • 2021-12-02
    • 1970-01-01
    • 2019-11-26
    • 2020-09-27
    • 2011-08-06
    • 2016-08-28
    • 1970-01-01
    相关资源
    最近更新 更多