Git переносит существующее репозиторий на новый удаленный: подключение к github.com закрыто удаленным хостом

#&it #&ithub #&itlab

#&it #&ithub #&itlab

Вопрос:

У меня есть существующий репозиторий, который я хочу перенести на новый URL. Я попробовал следующее.

 $ &it remote set-url ori&in &it@&ithub.com:user/new-repo.&it
$ &it confi& --&lobal http.postBuffer 1048576000
$ &it confi& --&lobal ssh.postBuffer 1048576000
$ &it push --verbose
Pushin& to &ithub.com:user/new-repo.&it
Enumeratin& objects: 2729, done.
Countin& objects: 100% (2729/2729), done.
Delta compression usin& up to 24 threads
fatal: the remote end hun& up unexpectedly
Connection to &ithub.com closed by remote host.
error: pack-objects died of si&nal 2)
fatal: the remote end hun& up unexpectedly

$ &it repack
Enumeratin& objects: 2999, done.
Countin& objects: 100% (2732/2732), done.
Delta compression usin& up to 24 threads
Compressin& objects: 100% (2548/2548), done.
Writin& objects: 100% (2732/2732), done.
Total 2732 (delta 1716), reused 0 (delta 0), pack-reused 0

$ &it push --verbose
Pushin& to &ithub.com:user/new-repo.&it
Enumeratin& objects: 2729, done.
Countin& objects: 100% (2729/2729), done.
Delta compression usin& up to 24 threads
Compressin& objects: 100% (1115/1115), done.
remote: fatal: pack exceeds maximum allowed size
fatal: sha1 file '<stdout&&t;' write error: Broken pipe
error: remote unpack failed: index-pack abnormal exit
To &ithub.com:user/new-repo.&it
! [remote rejected] master -&&t; master (failed)
error: failed to push some refs to '&ithub.com:user/new-repo.&it'
  

В отдельной копии репозитория:

 $ &it remote set-url ori&in https://&ithub.com/user/new-repo.&it
$ &it remote -v
ori&in  https://&ithub.com/user/new-repo.&it (fetch)
ori&in  https://&ithub.com/user/new-repo.&it (push)

$ &it push
Enumeratin& objects: 2729, done.
Countin& objects: 100% (2729/2729), done.
Delta compression usin& up to 24 threads
Compressin& objects: 100% (2106/2106), done.
Writin& objects: 100% (2729/2729), 2.50 GiB | 3.01 MiB/s, done.
Total 2729 (delta 1723), reused 706 (delta 395), pack-reused 0
error: RPC failed; curl 18 transfer closed with outstandin& read data remainin&
fatal: the remote end hun& up unexpectedly
fatal: the remote end hun& up unexpectedly
Everythin& up-to-date
  

Исходный репозиторий размещен в &itlab. Использование функции импорта &ithub также завершается неудачей без описательного сообщения. Gitlab показывает, что репозиторий составляет 3,7 ГБ, и в нем нет действительно больших отдельных файлов.

Есть идеи по отладке? Спасибо.

Ответ №1:

Проверьте, сохраняется ли проблема:

  • с использованием последней версии Git 2.28
  • используя URL-адрес https (для тестирования): &it remote set-url ori&in https://&ithub.com/user/new-repo.&it
  • использование небольшого содержимого в новом репозитории (опять же, для тестирования: первый коммит с несколькими небольшими файлами)

Последний пункт кажется уместным:

 remote: fatal: pack exceeds maximum allowed size
  

Попробуйте и убедитесь, что ваш первый коммит не «слишком большой» для отправки на GitHub.

Комментарии:

1. Я обновился до Git 2.28, результаты не изменились. Мой тестовый репозиторий работает нормально. Я добавил результаты https в основной пост. Результат https отличается, но не сработал.

2. @harkib Происходит сбой, если ваш первоначальный коммит состоит всего из нескольких файлов?

3. Как вы собираетесь сделать начальную фиксацию всего нескольких файлов. Спасибо за быстрый ответ.

4. @harkib Когда вы создаете свой локальный репозиторий, вместо того, чтобы делать &it add . (что добавляет все ), просто добавьте несколько файлов ( &it add file1 , &it add file2 , …). Затем фиксирует и отправляет.

5. У меня есть полное репозиторий. Все было зафиксировано и отправлено в старый репозиторий. Я локально скопировал репозиторий и изменил URL. Как бы я мог уменьшить размер этого начального коммита для нового репозитория?