Can';t将大型回购从gitlab迁移到github

Can';t将大型回购从gitlab迁移到github,git,github,repository,gitlab,git-lfs,Git,Github,Repository,Gitlab,Git Lfs,我正在尝试将私有回购从Gitlab迁移到Github。它包含一些使用git LFS跟踪的大型文件。即使在那之后,我也无法将回购协议推送到GitHub。回购协议的规模是巨大的,因为它是操作系统的完整代码库,回购协议的规模约为75GB 当我试图将它推送到GitHub时,我得到以下日志 Uploading LFS objects: 100% (8600/8600), 5.9 GB | 0 B/s, done Enumerating objects: 472049, done. Counting obj

我正在尝试将私有回购从Gitlab迁移到Github。它包含一些使用git LFS跟踪的大型文件。即使在那之后,我也无法将回购协议推送到GitHub。回购协议的规模是巨大的,因为它是操作系统的完整代码库,回购协议的规模约为75GB

当我试图将它推送到GitHub时,我得到以下日志

Uploading LFS objects: 100% (8600/8600), 5.9 GB | 0 B/s, done
Enumerating objects: 472049, done.
Counting objects: 100% (472049/472049), done.
Compressing objects: 100% (302043/302043), done.
kex protocol error: type 7 seq 16549), 1020.66 MiB | 4.88 MiB/s
kex protocol error: type 7 seq 32979), 1.99 GiB | 4.83 MiB/s
remote: fatal: pack exceeds maximum allowed size
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly

请告诉我是否有任何方法可以绕过大小限制。

GitHub不允许单次推送超过2 GB,以防止某些类型的DoS攻击。除非使用GitHub导入实用程序,否则需要以增量方式推送此存储库

您可以通过运行以下操作来实现此目的:

git rev-list --reverse --all | ruby -ne 'x ||=0; x += 1; print $_ if x % 30000 == 0;' | xargs -I{} echo git push github +{}:refs/heads/master
git push github +master
git push --mirror github

这将一次推送30000个提交。一旦这些都被推送,它将最后一次推送
主分支以包含正确的数据,然后镜像存储库的其余部分。

尝试推送以前版本的分支,然后继续。。。。我想这应该行得通
git推送上游master~10000:master;git-push上游master~9000:master等等。谢谢你提供的信息。但现在我遇到的问题是根提交大约是50GB,因为当时我们的操作系统只是普通的AOSP源代码。那么有没有办法解决这个问题呢?或者,我需要将提交拆分为多个提交并重写整个git历史记录?GitHub通常不允许人们拥有如此大的存储库。您需要联系GitHub支持人员,要求他们提高存储库的限制,尽管他们很可能会要求您重写存储库。