无法将我的文件发布到远程存储库

Can't publish my files to remote repository

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。我怎样才能解决这个问题??

您在这里看到的问题与 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 可以做类似的事情。

然后您应该首先按照您打算进行的常规推送跟进。

好的,所以发现错误消息是由于尝试推送超过 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 桌面中初始化 LFS,而无需在 git lfs install 中完成Git Bash, 也不行。)

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

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