git push зависает после строки Total

Мой git push зависает после завершения нажатия. я собираюсь git push

Counting objects: 51, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (47/47), done.
Writing objects: 100% (47/47), 27.64 MiB | 6.47 MiB/s, done.
Total 47 (delta 4), reused 0 (delta 0)

Он зависает здесь, и мне нужно нажать Control-c, чтобы вернуться в командную строку. Я сделал несколько коммитов в прошлом с этим проектом без проблем. Я пробовал другие репозитории на своей машине, и они работают нормально. Что здесь происходит?


person Patrick    schedule 05.04.2013    source источник
comment
Что-то вроде - strace -efile -f git push может показать больше о том, где находится зависание.   -  person Eric Johnson    schedule 06.04.2013
comment
Что-нибудь изменилось в удаленном репо? Например, установить долговременный хук после получения?   -  person Gavin    schedule 06.04.2013
comment
Нет. Я использую битбакет, поэтому у меня нет доступа ко всему. Я начинаю думать, что это просто большой перевод, который занимает много времени. Есть ли индикатор прогресса при нажатии?   -  person Patrick    schedule 07.04.2013
comment
Что-то пошло не так с разрешениями на репозиторий, который вы отправляете, или в этом месте не хватает места на диске. Я видел обе проблемы. Также может помочь git gc.   -  person qwerty9967    schedule 07.04.2013
comment
Была точно такая же проблема: в моем случае пользователь git на сервере не владел голым репо - им владел root (забыл -R в chown)   -  person Fabio    schedule 22.10.2018
comment
Единственное, что вам нужно сделать, это ждать.   -  person pusswzy    schedule 18.12.2018


Ответы (17)


Это оказалось вообще не проблемой. Мне просто нужно было дождаться завершения загрузки. Я добавил несколько больших файлов, а индикатора выполнения нет. Может быть, кто-то еще найдет это полезным.

person Patrick    schedule 18.04.2013
comment
Ну, в моем случае файл размером 2 КБ невелик .... интернет-соединение отличное, все еще зависает, ааааа - person Rami Dabain; 24.09.2013
comment
Это было полезно. Хорошо, что я не прервал его :P - person Glogo; 15.11.2013
comment
У меня похожая проблема, но индикатор сети в диспетчере задач Windows 8 показывает активность 0%... - person Pieter; 28.05.2014
comment
@Pieter - я получаю то же самое - никакой явной сетевой активности (хотя это был довольно большой толчок), но потом все закончилось нормально - person Andy; 24.02.2017
comment
Это довольно плохо разработанный интерфейс, после завершения работы продолжайте делать что-то без обратной связи с пользователем. - person Hernán Eche; 25.04.2020
comment
Что сработало для меня, так это переключение на VPN. Должно быть, какая-то проблема с маршрутизацией части трафика на Github. - person Joshua P. Swanson; 02.10.2020
comment
@Patrick Похоже, у вас было 27,64 МБ файлов, но вы говорите, что вам пришлось немного подождать. У меня 132,24 Мб, думаю минут 10 прошло, все еще жду... - person Niraj Niroula; 17.10.2020

Это может быть (как предполагает принятый ответ) всего лишь мгновение ожидания, но в большинстве случаев это связано с разрешениями на удаленном компьютере. В то время как в общедоступных сервисах git, таких как GitHub, Gitlab или Bitbucket, в основном это не проблема, самостоятельные удаленные могут иметь специального пользователя или группу для доступа.

А в новых голых репозиториях недостаточно изменить папку, вместо этого нужно быть рекурсивным из-за .git-Folder внутри.

person Alim Özdemir    schedule 21.03.2018
comment
Это верно в моем случае. Проверка разрешений решила проблему. - person averysphere; 19.07.2018
comment
Да, это была полностью проблема с нашим git-репозиторием, общим для локальной группы. Странно, что git не выдал никаких ошибок или предупреждений. - person Ogre Psalm33; 22.05.2019
comment
... делал это тысячу раз раньше ... все еще нужно было прочитать ваш ответ, чтобы дважды проверить разрешения ВНУТРИ каталога, спасибо! - person moritz; 23.07.2019

У меня это сработало только в том случае, когда я сделал git push -u origin master, когда я просто использовал git push для битового ведра, это не протолкнулось.

person pal4life    schedule 24.06.2014

Разрешения также могут быть причиной этого в случае голого репо на удаленной машине.

person cherrysoft    schedule 24.08.2018

Ожидание завершения загрузки не работает для меня. Запихнул не очень большой файл, но подождал достаточно долго, все равно завис.

Мне помогло обновление с msysgit 1.9.5 до git-for-windows 2.6.2.

person gordey4doronin    schedule 05.11.2015

Просто хотел добавить это на случай, если это кому-нибудь поможет. У меня была та же проблема, и проблема заключалась в том, что у пользователя git не было разрешения на запись в файлы, а только на чтение из них.

person AndrewIsOffline    schedule 08.08.2018

Проблема в том, что загружаемый файл большой.

Либо вы ждете, либо переходите в папку своего проекта и удаляете все библиотеки, которые вы можете найти в целевой папке, если используете maven. Тогда сделайте толчок, и это произойдет быстро.

В любом случае, папки библиотеки не нужно хранить в git, это просто пустая трата пространства git, если и до тех пор, пока они не будут доступны в репозиториях maven, и вам действительно нужно их хранить

person codemania23    schedule 26.10.2018

Используйте эту команду:

git remote add origin <url>
git push -f origin master
person drakogemini2    schedule 25.04.2020

Посмотрите, были ли вы подготовлены, но не зафиксированы изменения. (git status)

Если это так, зафиксируйте (или удалите) их, а затем попробуйте нажать. Работал на меня.

person Nikita R.    schedule 26.06.2015

В моем случае это было вызвано проблемой с msysgit 1.9.5. Переход на msysgit 1.9.4 решил проблему.

person Augustin    schedule 03.08.2015

В моем случае на пульте был полный диск. Удаление некоторых файлов на удаленном компьютере быстро устранило проблему.

person ErikWeitenberg    schedule 20.05.2018

Проверьте права пользователя, которые использует git!

В моем случае я попытался через ssh, и используемый системный пользователь не смог записать в голый репозиторий git...

Вот вы можете отлаживать свое ssh-соединение

person Pipo    schedule 23.07.2018

Эта проблема может быть вызвана проблемами с вашим агентом SSH.

Недавно я столкнулся с этой проблемой, потому что изменил оболочку по умолчанию с zsh на bash. Я изначально настроил свои ssh-ключи, используя zsh, поэтому они были недоступны по умолчанию для bash, используя chsh -s /bin/bash.

Чтобы исправить это, вам нужно добавить ключ(и) ssh в агент аутентификации SSH, используя тот же сценарий оболочки (bash, sh, zsh и т. д.), который вы используете для выполнения команд git:

eval `ssh-agent`
ssh-add ~/.ssh/some_key_rsa

Вам нужно будет ввести парольную фразу для ключа, чтобы добавить его. Чтобы сохранить парольную фразу в цепочке ключей пользователя и не вводить ее каждый раз при использовании ключа, добавьте ключ с параметром -K в команду ssh-add.

ssh-add -K ~/.ssh/some_key_rsa

Обратите внимание на верхний регистр K, так как использование нижнего регистра — это другой параметр команды.

person dzimney    schedule 19.11.2019

Я столкнулся с этой же проблемой при переходе на GitHub. Я обнаружил, что часть загружаемых файлов не принимается.

Я обнаружил это, разбив большую фиксацию на более мелкие (как описано в этом вопросе SO: Разбить предыдущую фиксацию на несколько коммитов), а затем добиться успеха с большинством более мелких частей.

Проблемная часть содержит файлы изображений, и я все еще выясняю, какой конкретный файл (или файлы) вызывает проблему.

person jmarks    schedule 05.12.2019

Я хотел добавить комментарий @Fabio к исходному сообщению - это решило это для меня.

Я запускаю свой собственный специальный локальный сервер git на Raspberry Pi. Я забыл chown новое голое репо, и отправка первого коммита с удаленного ПК просто зависала на неопределенный срок.

Это исправило это (запуск chown от имени пользователя root или с sudo):

cd /srv/git
chown git:git -R <repo_name>.git

Замените <repo_name> именем вашего репо.

person float13    schedule 05.02.2020

Добавление еще одного локального коммита и повторная попытка нажатия сработали для меня.

person sandeepkunkunuru    schedule 06.03.2020

У меня была та же проблема, и оказалось, что у меня была более старая версия (которую я удалил, но с тем же именем) репо, подключенного к Heroku. Когда я отключил его, он завершил толчок.

person Stephan Erasmus    schedule 10.04.2020