Удаленный размер пульта ДУ Github превышен

Я новичок в Git и имею довольно большой проект, который я хочу нажать на удаленное репо (Repo B) на Github. Оригинальный проект был также на Github, но из другого репо (Repo A). Я должен внести некоторые изменения в файлы из Repo A, прежде чем я смогу настроить проект на Repo B. Я установил пульт дистанционного управления, клавиши ssh и т.д., И я столкнулся с проблемой при нажатии на кодовую базу на Repo B.

Я получаю следующую ошибку все время:

$ git push <remote_repo_name> master
Enter passphrase for key '/c/ssh/.ssh/id_rsa':
Counting objects: 146106, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (35519/35519), done.
fatal: pack exceeds maximum allowed size00 GiB | 154 KiB/s
fatal: sha1 file '<stdout>' write error: Invalid arguments
error: failed to push some refs to '[email protected]:<repo>.git

Я изменил следующие настройки в своем локальном gitconfig

git config pack.packSizeLimit 1g
git config pack.windowMemory 1g

... и запустил Git gc (я вижу реорганизацию пакетов так, чтобы каждый пакет оставался в пакете размером 1 ГБ). Это не сработало, и я получил ошибку, увиденную выше.

Я попытался уменьшить размер каждой пачки.

git config pack.packSizeLimit 500m
git config pack.windowMemory 500m

... и запустил Git gc (который, как я вижу, реорганизовал пакеты так, чтобы каждый пакет оставался в пакете размером 500 МБ). Это тоже не сработало, и я столкнулся с той же ошибкой.

Я не уверен в том, какие ограничения по умолчанию для пакета Github (если они есть). Учетная запись является микро-счетом, если это имеет значение.

Ответ 1

Ограничение пакета не влияет на команды протокола git (ваш push).

От git-config под pack.packSizeLimit:

Максимальный размер пакета. Этот параметр влияет только на упаковку в файл при переупаковке, i.e. протокол git://не изменяется.

При выполнении push git всегда создается ровно один пакет независимо от размера!

Чтобы исправить это, используйте два (или более) нажатия:

git push remoteB <some previous commit on master>:master
...
git push remoteB <some previous commit after the last one>:master
git push remoteB master

Эти нажатия будут иметь меньшие пакеты и будут успешными.