8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Git lfs-'这超出了 GitHub 的文件大小限制 100.00 MB'

marcbf 1月前

59 0

我有一些 csv 文件大于 github 的文件大小限制 100.00 MB。我一直在尝试使用 Git 大文件存储扩展。https://git-lfs.github.com/来自 LFS - \'大文件

我有一些 csv 文件大于 github 的文件大小限制 100.00 MB。我一直在尝试使用 Git 大文件存储扩展。

https://git-lfs.github.com/

来自 LFS - "Large file versioning- Version large files—even those as large as a couple GB in size—with Git."

我已对相关文件夹应用了以下内容:

git lfs track "*.csv"

但是,当我按下时:

remote: error: File Time-Delay-ftn/Raw-count-data-minor-roads1.csv is 445.93 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File Time-Delay-ftn/Raw-count-data-major-roads.csv is 295.42 MB; this exceeds GitHub's file size limit of 100.00 MB

当我查看相关文件夹时:

-rw-r-----   1 user  staff    42B 23 Oct 12:34 .gitattributes
-rw-r--r--   1 user  staff   1.3K 19 Oct 14:32 DfT_raw_major_manipulation.py
-rw-r--r--   1 user  staff   1.2K 16 Oct 15:08 DfT_raw_minor_manipulation.py
drwxr-xr-x  21 user  staff   714B 22 Oct 11:35 Driving/
-rwxr-xr-x@  1 user  staff   295M 19 Oct 14:47 Raw-count-data-major-roads1.csv*
-rwxr-xr-x@  1 user  staff   446M 16 Oct 14:52 Raw-count-data-minor-roads1.csv*

当我使用 vim 查看 .gitattributes 文件时,您可以看到 lfs 设置:

*.csv filter=lfs diff=lfs merge=lfs -text

我做错什么了?

更新

当我查询时

git lfs ls-files

我没有得到任何返回结果。这表明尽管 .csv 过滤器已成功应用于 .gitattributes 文件,但 lfs 并未拾取 csv 文件

帖子版权声明 1、本帖标题:Git lfs-'这超出了 GitHub 的文件大小限制 100.00 MB'
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由marcbf在本站《github》版块原创发布, 转载请注明出处!
最新回复 (0)
  • @Gumbo 该文档还提到“考虑引入 Git 大文件存储 (Git LFS)”。这似乎就是所问的问题。按照该链接,文档说“这是将大于 100 MB 的文件推送到 GitHub 的理想解决方案”

  • 简单地将 git-lfs 配置添加到现有存储库不会追溯将您的大文件转换为 LFS 支持。这些大文件将保留在您的历史记录中,并且 GitHub 将拒绝您的推送。

    您需要重写历史记录以将 git-lfs 引入到您现有的提交中。我推荐 BFG repo 清理工具,它 最近 添加了 LFS 支持

    您应该能够通过以下方式转换 CSV 文件的历史使用情况:

    $ java -jar ~/bfg-1.12.5.jar --convert-to-git-lfs '*.csv' --no-blob-protection
    
  • 谢谢!确实如此。但是,我对 bfg 不太满意。我确实安装了 brew bfg。我检查了文件路径,但收到错误:无法访问 jarfile /usr/local/cellar/bfg-1.12.5.jar

  • @LearningSlowly - 我不熟悉 brew。我认为你只需要从 GitHub 下载 jar 并按照说明运行它。

  • 尝试了 bfs 方法大约 3 个小时。它似乎什么也没做:发现 133 个提交清理提交:100% (133/133) 清理提交在 216 毫秒内完成。BFG 中止:没有要更新的引用 - 没有发现脏提交??然后发表反特朗普的评论,我不在乎。我关心的是它不直观并且不起作用

  • 从 Git LFS 2.2.0 开始,您可以使用 git lfs migrate 命令。在您的例子中,它看起来是这样的:

    git lfs migrate import --include="*.csv"
    

    此后,您应该能够将更改推送到原点。

    有关更多信息, git lfs migrate 请参阅 Git LFS 2.2.0 发行说明站点 git-lfs-migrate 命令文档 .

  • 这是一个更现代的答案,应该被置顶。对于任何阅读此文的人,请在上述任何答案之前尝试一下这个。

  • 如果您收到无效 git 命令错误,请确保安装 lfs。可在此处找到所有平台的操作指南。- .com/a/48734334/2480714

  • 有人能帮我解释一下 --include 标志吗?--include 和 --exclude 之间有什么区别?提前谢谢了。

  • 我可以在此命令中指定远程吗?因为我的存储库中有两个远程,但目前我只能访问其中一个(LAN 远程无法访问)。

  • 引用 12

    我有同样的问题,但它解决了使用 filter-branch

    git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD

    如果你有一个大项目,那么需要一些时间,然后推动它

    git push

  • GJZ 1月前 0 只看Ta
    引用 13

    当我的一些 csv 文件合并到之前的提交中时,我遇到了同样的问题,但 github 拒绝了我的推送。后来我发现这个命令对我有用。

    git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch fixtures/11_user_answer.json'
    # for my case
    git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch tensorflow.csv'
    
    

    filter-branch 重写所提及分支的提交历史。

    --index-filter 是用于重写索引的过滤器

    git rm --cached --ignore-unmatch tensorflow.csv 完全忘记所有存在的提交中的 tensorflow.csv 文件。

    原帖链接

    filter-branch 的文档

  • 扩展类型是什么?如果都是 csv,那么尝试 *.csv。或者您想要删除的特定扩展类型。

  • \' 使用 git rm --cached 暂存文件以供删除,但不会将其从工作目录中删除。然后该文件将显示为未跟踪文件。 \' 详情请访问 .com/a/38001958/4374376

  • Oerd 1月前 0 只看Ta
    引用 16

    在终端中尝试以下命令。它将解决 lfs 问题。

    git lfs migrate import --include="*.csv"
    
  • @Alpha 确实提到了这一点!> 请注意,定义 Git LFS 应跟踪的文件类型本身不会将任何预先存在的文件转换为 Git LFS,例如其他分支或您之前的提交历史记录中的文件。为此,请使用 git lfs migration(1) 命令,该命令具有一系列旨在满足各种潜在用例的选项。

  • 我这样做了,它不再列出发行文件(带有迁移信息),但 gitlab 仍然抱怨 >100MB 的 blob,我有 5 个未推送的提交,它列出了 3 个 >100MB 的 blob,但它只有一个文件。据我了解,迁移导入将为任何未推送的提交修复此问题

  • 我遇到了这个错误:

    远程:错误:文件客户端/静态/静态版本/20171221_221446.psd 为 223.61 MB;这超出了 GitHub 的文件大小限制 100.00 MB

    而且因为我已经从该文件夹中删除了此文件,创建了.gitignore 文件并尝试提交几次,我不知道它已被缓存,所以我无法推送到 github。就我而言有帮助:

    git 过滤器分支 --index-filter'git rm --cached --ignore-unmatch 客户端/static/static-version/20171221_221446.psd'

    我在其中放置了完整文件路径(来自上述错误)以将其从缓存中删除。之后,推送成功完成。

  • 我昨天遇到了同样的问题,并解决了它。我无法推送,而且似乎我的大文件都不在 lfs 中。

    可能有更好的方法,但这对我来说很有效。我有一个包含 2.5 GB 数据的大型存储库。

    我设置了一个新的 repo,然后在其中设置了 lfs。 git lfs init

    然后我配置了各种文件类型, git lfs track "*.pdb"git lfs track "*.dll" 然后提交了我的更改并推送。

    然后我添加了大文件。我使用了 sourcetree,在输出注释中,它会指出与我的通配符匹配的大文件正在提交小 txt 文件。(抱歉,我没有记录这些,但这应该是显而易见的)。

    然后我推送,看到‘跳过文件’,很快就推送成功了。

    因此问题可能是尝试将已经在历史记录中的文件添加到 lfs。您只能添加新文件。您可能可以清除这些文件的存储库。

    注意:我确实发现 lfs 没有找到很多与我的通配符匹配的文件。不同文件夹中的类似文件被找到了,但不是全部。我尝试使用完整路径明确添加这些文件。 git lfs track "Windows/bin/myBigFile.dll" 但这也无济于事。最后我因为时间限制放弃了。

    您还应该使用 gitHub 检查您的存储限制。我购买了额外的 50gig 来满足我的需求。

    现在克隆 repo 会分别下载文件,并且一切最终运行正常。

返回
作者最近主题: