迁移到 LFS 后存储库仍然很大
Repository still big after migrating to LFS
我正在使用 Unreal Engine 4 并将其所有资产文件序列化为二进制文件。目前,项目大小不到 10MB,但 .git 文件夹几乎有 700MB。
我让 LFS 跟踪了所有资产文件并对回购做了 lfs migrate
,但回购仍然很大。 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 LFS 将保留 最近 提交中的文件版本。这里,'recent'表示lfs.fetchrecentrefsdays
配置的值属性。所以 LFS 将提取所有 7 天或更新的版本(这是默认值,但您可以更改它)。
要删除所有旧的 文件,您需要git lfs prune
。 p运行e 将删除所有早于 lfs.fetchrecentrefsdays
+ lfs.pruneoffsetdays
的文件版本。 lfs.pruneoffsetdays
默认为 3,lfs.fetchrecentrefsdays
默认为 7,因此当 p运行e 为 运行 时,所有超过 10 天的版本都将被删除。
更多信息here
编辑: 至于我遇到的 "Could not checkout file" 错误,干净安装 Git 就可以了。
我正在使用 Unreal Engine 4 并将其所有资产文件序列化为二进制文件。目前,项目大小不到 10MB,但 .git 文件夹几乎有 700MB。
我让 LFS 跟踪了所有资产文件并对回购做了 lfs migrate
,但回购仍然很大。 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 LFS 将保留 最近 提交中的文件版本。这里,'recent'表示lfs.fetchrecentrefsdays
配置的值属性。所以 LFS 将提取所有 7 天或更新的版本(这是默认值,但您可以更改它)。
要删除所有旧的 文件,您需要git lfs prune
。 p运行e 将删除所有早于 lfs.fetchrecentrefsdays
+ lfs.pruneoffsetdays
的文件版本。 lfs.pruneoffsetdays
默认为 3,lfs.fetchrecentrefsdays
默认为 7,因此当 p运行e 为 运行 时,所有超过 10 天的版本都将被删除。
更多信息here
编辑: 至于我遇到的 "Could not checkout file" 错误,干净安装 Git 就可以了。