В моем случае я использовал папку git с плохими правами, которая хранится на том же диске, что и репозиторий, но это может быть то же самое с ssh, даже если вы используете авторизованного пользователя для входа в систему.
Проверьте тогдаесли у вас есть правильные права на запись в удаленном репо.
Пример:
Инициирование локального и удаленного репо
git init /tmp/src
git init --bare /tmp/dst
cd /tmp/src
Добавлениеудаленное репо в исходное положение
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.
Git зависает
Решение
src > chmod -R 775 /tmp/dst