【问题标题】:Can't publish my files to remote repository无法将我的文件发布到远程存储库
【发布时间】:2021-11-04 05:51:47
【问题描述】:
Uploading LFS objects: 100% (1201/1201), 2.6 GB | 9.1 MB/s, done.
Enumerating objects: 20004, done.
Counting objects: 100% (20004/20004), done.
Delta compression using up to 12 threads
Compressing objects: 100% (11626/11626), done.
remote: fatal: pack exceeds maximum allowed size        /s   
error: RPC failed; curl 55 Send failure: Connection was aborted
send-pack: unexpected disconnect while reading sideband packet
Writing objects: 100% (20004/20004), 4.78 GiB | 23.39 MiB/s, done.
Total 20004 (delta 11193), reused 17185 (delta 8374), pack-reused 0
fatal: the remote end hung up unexpectedly
Everything up-to-date

我似乎无法将我的文件发布到远程存储库。我启用了 LFS。我怎样才能解决这个问题??

【问题讨论】:

  • 联系 GitHub 支持。你有一个过大的包文件,但由于你为 LFS 支持付费,他们应该愿意在这里提供帮助。可能你需要使用一些花哨的 LFS“重写我的存储库让我使用 LFS”选项;我不知道这些是什么,因为几年前我对 LFS 的体验是“让我们试试这个......不,我们不喜欢它,我们不要使用它”。 :-)
  • @torek 感谢您的友好回复。请问是否有任何其他替代使用 LFS?
  • 我们的特殊用例允许我们将大文件存储在 Git 之外。这对我们来说有一些小缺点,这就是我们研究 Git-LFS 的原因,但还不足以让我们选择 LFS。
  • @torek Aha 好的,谢谢。

标签: git github git-lfs


【解决方案1】:

好的,所以发现错误消息是由于尝试推送超过 2GB 的文件,我通过手动增量添加文件来解决。


我是怎么做到的:

在 Git Bash 上

  1. git init
  2. git remote add origin (link)
  3. git lfs install
  4. git pull origin master
  5. 创建、添加、提交和推送的过程.gitattributes
  6. 跟踪 LFS 文件:https://git-lfs.github.com/

然后去 Github 桌面 (由于某种原因,添加、提交和推送 LFS 在 Git Bash 中不起作用。但是在 Github Desktop 中简单地初始化 LFS,而没有在 Git Bash 中完成 git lfs install 也不起作用。)

出于某种原因必须按此特定顺序。

  1. 添加存储库并确保初始化 Git LFS
  2. 手动将文件移动到本地存储库文件夹中,并确保其不超过 2GB。
  3. 添加、提交和推送文件

【讨论】:

    【解决方案2】:

    您在这里看到的问题与 Git LFS 无关。问题是您推送到远程的 Git 包大于 2 GB,这是 GitHub 避免拒绝服务问题和人们超过最大存储库大小限制的情况的最大限制。

    您需要逐步推送您的提交,以便最终获得几个较小的推送。例如,如果您的分支是 main,您可以使用这种方法一次推送 1000 个提交。

    $ git rev-list --reverse main | \
      perl -ne 'print unless $i++ % 1000;' | \
      xargs -I{} git push origin {}:main
    

    如果你不关心 Perl。 Ruby 可以做类似的事情。

    然后你应该按照你最初打算做的定期推送来跟进它。

    【讨论】:

    • 对不起,我对 git 相当缺乏经验。我试图在 Git bash 中输入相同的代码,但它仍然给我一个错误。也许我做错了什么?是否有另一种方式来逐步推送提交?我真的不知道哪些文件需要 LFS,所以我不知道要添加和提交哪些文件。
    • 我对命令做了一些小改动。如果您仍然看到问题,则需要在运行它时包含您看到的消息,因为我们无法知道您看到的是什么错误。另请注意,如果您的分支不是 main,则需要将其替换为分支名称。
    猜你喜欢
    • 2021-06-11
    • 1970-01-01
    • 2019-04-03
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多