查找并删除太大的文件以推入 git lfs

Tre*_*rey 5 git git-lfs

我有一个承诺,我正在努力推动它。我得到这个回应

Git LFS: (0 of 9 files, 9 skipped) 0 B / 3.24 GB, 3.24 GB skipped
[422] Size must be less than 2147483648
[0ee4f2bc4d42d98ea0e7b5aeba2762c7482f3bcf00739d40b922babe8061820b] Size must be less than 2147483648
error: failed to push some refs to ...
Run Code Online (Sandbox Code Playgroud)

这些是什么文件?

如何从我的提交中找到并删除它们,以便我可以推送所有这些文件?

Mar*_*ler 8

一个简单的

git ls-files
Run Code Online (Sandbox Code Playgroud)

将为您提供当前由 git 管理的文件列表。

使用一点管道魔法,文件超过大小限制很容易被发现

git ls-files -z | xargs -0 stat -c '%s %n' | sort -n 
Run Code Online (Sandbox Code Playgroud)

将为您提供按升序排列的文件大小和相应文件的列表。

  • @Alexis.Rolland 不,这与你所使用的操作系统无关。它可能取决于您使用的 shell 和环境 - 在 Linux 系统上,您通常会发现已经安装了“xargs”和“sort”,在 Windows 上,您通常会使用用于 git 的 shell 来安装它。Windows 在工具方面总是有点不足。 (2认同)