繁体   English   中英

Git:覆盖或擦除存储库中的大文件(归档)?

[英]Git: overwrite or wipe large files (archives) from repository?

我有一个存储库,该存储库使用当前使用Shell脚本下载和编译的第3方代码。 这可行,但是有时镜像很慢或无法到达。 对我来说,将它与我的代码捆绑起来会更容易(因为第三方代码只是OpenSource项目)。

但是,我不希望我的git存储库随着时间的推移而变得庞大(就像通常那样,当您包含每次更新它们都会存储的大型二进制文件时)。

有什么办法可以从git仓库中删除.tar.gz(或类似文件)档案?

还是一旦过时我就可以覆盖foo.tar.gz吗? 这样就只消耗最新版本使用的内存(并因此删除文件的较早修订版)?

有什么办法可以从git仓库中删除.tar.gz(或类似文件)档案?

How to remove big files from the repository

有几种方法可以做到:

  • 您可以使用git filter-branch

  • BFG回购清洁剂

    BFG Repo-Cleaner

    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 
  • GIT LFS(大文件存储)


    在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM