【问题标题】:Repository still big after migrating to LFS迁移到 LFS 后存储库仍然很大
【发布时间】:2018-11-03 16:03:06
【问题描述】:

我正在使用虚幻引擎 4,它将所有资产文件序列化为二进制文件。目前,项目大小不到 10MB,但 .git 文件夹几乎是 700MB。 我已经 LFS 跟踪了所有资产文件并在 repo 上做了一个lfs migrate,但 repo 仍然很大。 GitHub 说文件在 LFS 中,但在推送重写的历史记录后,我没有看到我的 LFS 存储使用量表上升。

我不确定这是否是 LFS 的工作方式,但据我了解,Git 会将指向该文件的指针存储在 LFS 中,并且仅从您的 HEAD 所在的提交中下载该文件的版本。

我在这里迷路了。我认为值得一提的是,我是 git 的新手,所以请放轻松。

提前致谢。

编辑: 我运行 git lfs install --skip-smudge 然后克隆了 repo,这使得 repo 文件夹小了很多,因为克隆时没有下载 LFS 文件。问题是现在我只有指针文件并且执行git lfs pull 无法检出所有文件。错误信息是Could not check out "<file-name>"

【问题讨论】:

    标签: git git-lfs


    【解决方案1】:

    Git LFS 将保留 最近 提交中的文件版本。这里,'recent' 表示lfs.fetchrecentrefsdays 配置属性的值。所以 LFS 会拉取所有 7 天或更新的版本(这是默认值,但你可以更改它)。

    要删除所有文件,您需要git lfs prune。修剪将删除所有早于lfs.fetchrecentrefsdays + lfs.pruneoffsetdays 的文件版本。 lfs.pruneoffsetdays 默认为 3,lfs.fetchrecentrefsdays 默认为 7,因此当运行 prune 时,所有超过 10 天的版本都将被删除。

    更多信息here

    编辑:至于我遇到的“无法签出文件”错误,全新安装 Git 就可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 2021-10-10
      • 2017-03-14
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多