Ответ 1
Это похоже на Как получить github по умолчанию для ssh, а не https для новых репозиториев. Вероятно, стоит попробовать перейти с http-протокола на ssh:
$ git remote add origin [email protected]:username/project.git
Когда я попытался запустить
git push origin master --force
Я только что получил
Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date
Это связано с тем, что он не защищен? Я попытался создать открытый ключ, как в ответе Fatal: удаленный конец неожиданно повесил трубку и снова запустил его, но он все равно не работает. Действительно ли я не использую ключ? Если да, то как его использовать?
Это похоже на Как получить github по умолчанию для ssh, а не https для новых репозиториев. Вероятно, стоит попробовать перейти с http-протокола на ssh:
$ git remote add origin [email protected]:username/project.git
Проблема связана с настройками буфера git/https. Чтобы решить эту проблему (взято из Git сбой при нажатии фиксации на github)
git config http.postBuffer 524288000
И снова запустите команду
Причина: превышен размер сообщения для файла Git.
Решение:
Перейдите к репо.
Выполните следующую команду, чтобы увеличить буфер до 500 МБ после перехода в репозиторий:
git config http.postBuffer 524288000
Вы можете получить сообщение об ошибке
ошибка: не удалось заблокировать файл конфигурации .git/config: нет такого файла или Каталог
потому что у вас нет локального файла .git/config
. Вы можете заставить его работать с помощью этой команды
git config --global http.postBuffer 524288000
Другие решения в моем случае не работали, поэтому сбор мусора исправил его для меня:
git gc --aggressive
Эта ошибка также может быть вызвана отсутствующими разрешениями на запись в хранилище.
Мой конкретный случай прошел так:
root
моего сервера (через SSH).git
linux, который должен управлять всеми действиями, связанными с git.root
, а у пользователя git
просто не было прав доступа к файлам для записи чего-либо в репозиторий.Вопреки одному из других ответов - у меня возникла проблема с нажатием кнопки ssh - я переключился на https и был исправлен.
git remote remove origin
git remote add origin https://github..com/user/repo
git push --set-upstream origin master
Если вы используете git для Windows (и, скорее всего, если вы делаете это на машине Windows), и никакие другие исправления здесь не работают, попробуйте перейти к https://github.com/git-for-windows/git/releases и получить версию версии 2.4.5 или после нее. Исправил это для меня.
Вероятно, вы клонировали репозиторий в существующем, чтобы решить проблему, можно просто клонировать репозиторий в другом каталоге и реплицировать изменения в этот новый каталог, а затем запустить push.
В нашем случае проблема была клоном, который написал файл .git/config
, который содержал запись url, которая была методом доступа только для чтения. Исправлена проблема с изменением URL-адреса от метода ://
до метода @
.
Запуск git remote -v
осветил проблему.
Другое дополнение, поскольку я столкнулся с этой ошибкой по-другому, и Google взял меня здесь.
Моя проблема была несоответствием случая; один camelCase и один нет. По-видимому, GIT останавливает вас, делая это, не сообщая вам, почему. Поэтому, если ваши ветки отличаются от удаленного только в капитализации, попробуйте заменить их одинаковыми.
См: Git: "Мастер не может быть разрешен для ветвления" после слияния
Это может произойти после обновления вашей платформы OSX.
Откройте терминал и перейдите в свою .ssh-папку и введите ssh-add -K ~/.ssh/id_rsa
У меня случилась такая же ошибка при нажатии.
Я сделал трюк "http.postBuffer". Он решил это, но когда я хотел нажать, я снова столкнулся с ошибкой.
Что решило мою проблему:
1. Скопировал его в другую папку с другой виртуальной машиной. (Linux).
2. Я сделал свои изменения.
3. Вдвинул его с оригинальной виртуальной машиной, где я изначально не мог нажать. (Windows)
Я получил эту ошибку, когда у меня была некорректная ключевая пара в .ssh. Добавление pubkey в github (в настройках) исправило эту проблему для меня.
У меня та же проблема. Я заметил на веб-странице git, что URL-адрес клонирования SSH имеет следующую структуру:
[email protected]:user/project.git
Я мог бы решить свою проблему, просто изменив ":" на "/" следующим образом:
[email protected]/user/project.git
может быть полезно.
Кажется, это может быть одна из тысячи вещей.
Для меня я изначально подталкивал мастера и развивал (мастер не имел никаких изменений) через SourceTree. Изменение этого для разработки только сработало.
Я сталкивался с подобной ошибкой при загрузке большого репозитория "фатально: удаленный конец неожиданно завис", без каких-либо дополнительных подробностей.
После долгих исследований вот что я сделал:
Наконец, мне пришло в голову, что, возможно, я использую старый git-клиент, так как не вижу дополнительных сообщений об ошибках. Я обновил git client до последней (2.20.1), и вуаля, ошибка исчезла!
PLESK Nginx и GIT Я получал эту ошибку на plesk git, и при отправке большого репозитория с (кто знает, что) он дал мне эту ошибку с HTTP-кодом 413, и я посмотрел, что следующим сервером был Plesk, и на нем работали nginx и apache2. так я заглянул в логи и нашел ошибку в логах nginx
Перейдя по этой ссылке, можно разрешить plesk перестроить конфигурацию с большей загрузкой файлов.
Я пропустил часть php для git
После этого git push работал без ошибок.
Мне удалось обойти эту проблему, используя Git Shell.
Каждый репозиторий в github.com дает URL-адрес HTTPS/SSH/Subversion, который можно использовать для загрузки с помощью Shell, см. здесь: http://prntscr.com/8ydguv.
Основываясь на последних изменениях GitHub, SSH представляется лучшим методом.
Команда для использования в оболочке:
git clone "URL of repo goes here w/ no quotes"
Я получил эту ошибку, когда у меня возникла ошибка с именем удаленной ветки
Кажется почти бессмысленным добавить ответ, но я боролся с этим целую вечность, когда я, наконец, обнаружил, что Visual Studio Online страдает от спорадического отключения. Это стало очевидным, когда VS продолжал запрашивать кредиты, а веб-сайт VSO иногда давал 500.
Counting objects: 138816, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38049/38049), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
The remote end hung up unexpectedly/138816), 33.30 MiB | 3.00 KiB/s
Writing objects: 100% (138816/138816), 50.21 MiB | 3.00 KiB/s, done.
Total 138816 (delta 100197), reused 134574 (delta 96515)
fatal: The remote end hung up unexpectedly
Everything up-to-date
После этого я возвращаю свой почтовый HTTP-буфер обратно на 2 Мб, так как я на самом деле думаю, что он работает лучше со многими меньшими сообщениями.
Лука
Сделайте это, чтобы увидеть ключ, который вы используете; ssh -vT git @github.digitalglobe.com
Затем убедитесь, что в вашей сборке этот запуск выполняется с самого начала. eval "$ (ssh-agent -s)" ssh-add ~/.ssh/id_rsa
1) cd к проекту dir
2) git status
3) git checkout -f HEAD
4) Подтвердите успех, снова потянув мастера, чтобы убедиться, что вы в курсе, если ваш репо выглядел не полностью
Это работает, если вы получаете сообщение об ошибке из Visual Studio Git при клонировании репозитория из Bitbucket
Это также может произойти, если какие-либо коммиты, которые вы нажимаете, искажены.
У меня (по незнанию) был коммит с искаженным полем Email автора, но все, что я получал, было это смутное сообщение об ошибке зависания remote end hung up
. Я был в состоянии выдвинуть другие ветки, но не эту одну ветку, поэтому я начал выталкивать коммиты из "плохой" ветки по одному, пока, наконец, не приземлился в:
Pushing to [email protected]:directangular/unicorn.git
Counting objects: 100% (9/9), done.
Delta compression using up to 20 threads
Writing objects: 100% (5/5), 549 bytes | 549.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: error: object 74c7584ff0b93591c19d3a3c19695889dd2274d2: badEmail: invalid author/committer line - bad email
remote: fatal: fsck error in packed object
error: remote unpack failed: index-pack abnormal exit
To github.com:directangular/unicorn.git
! [remote rejected] pizzafeast -> pizzafeast (failed)
error: failed to push some refs to '[email protected]:directangular/unicorn.git'
Таким образом, похоже, что remote end hung up unexpectedly
ошибка является своего рода "проглатыванием" фактического сообщения об ошибке, что, вероятно, является своего рода некорректным коммитом, как у меня здесь.
После исправления искаженного письма я смог толкнуть просто отлично.
Я не думаю, что это хорошая идея сделать это, но если у вас есть резервная копия на вашем компьютере... нажмите еще раз, а затем попробуйте клонировать репо, а затем удалите .git из старого каталога и переместите .git из новой клонированной папки... git разрешен но из-за этой проблемы некоторые файлы могут не загружаться в git. Снова переместите все назад, затем перетащите его на сервер или другой компьютер, на котором произошла ошибка. Прямо сейчас я только что сделал... Работает на меня... и делаю резервную копию вашего каталога, прежде чем сделать это.
И, пожалуйста, поправьте меня, если я ошибаюсь. Я также не знаю, что может пойти не так после этого? Но на этот раз это действительно работает.