Git зависает при написании объектов


Я пытаюсь git push -u origin master и он просто висит на

Writing objects:  99% (219/220), 12.65 MiB | 97 KiB/s

The 12.65 часть смены. Когда я выхожу из процесса и запускаю его снова, он возобновляется на 99%, но никогда не заканчивается, как и раньше.

Он никогда не добился. Это начальная фиксация.

6 56

6 ответов:

я последовал совету Вонка:

git config --global http.postBuffer 524288000

Это происходило из-за огромного, неназванного файла в каталоге РЕПО. Выкрикивает.

EDIT

зависание было потому, что файл занимает много времени, чтобы загрузить. Файл не должен был быть включен в толчок.

у меня была такая же проблема с (написанием объектов %16) застрял тогда фатально. Я решил эту проблему, сохранив текущие изменения и клонировав новый репозиторий, а затем скопировав в него измененные файлы.

например. Предположим текущего репозитория, то все, что вам нужно сделать, это:

  1. mv A B
  2. git clone A
  3. mv B/* A/
  4. rm -rf B
commit и push и все работало нормально. Он распознал перемещенные файлы как изменено :)

git clean -f -n решает мою проблему. Есть много неотслеженных файлов, которые не обнаружены. Но будьте осторожны, потому что это приведет к удалению файлов в вашем каталоге

в моем случае у меня была медленная скорость загрузки в интернет, и файл, который я хотел нажать, был большим, трюк состоит в том, чтобы использовать git LFS (большое хранилище файлов), что гораздо более терпеливо загружать большие файлы, вы можете найти Git LFS учебник здесь

в моем случае я использовал папку git с плохими правами, хранящимися на том же диске, что и РЕПО, но это может быть то же самое с ssh, даже если вы используете авторизованного пользователя для входа.

проверьте, есть ли у вас правильные права на запись в удаленном РЕПО.

пример:

Init локальное и удаленное РЕПО

git init /tmp/src
git init --bare /tmp/dst
cd /tmp/src

добавление удаленного РЕПО в origin

src > git remote add dest /tmp/dst

имитация проблема

src > chmod -R 555 /tmp/dst

добавление поддельного файла и его нажатие

src > touch a && git add a && git commit -m 'demo'
src > git push --set-upstream dest master
src > git push
Counting objects: 3, done.
Writing objects: 99% (2/3), 202 bytes | 0 bytes/s.

ГИТ зависает

решение

src > chmod -R 775 /tmp/dst