Ответ 1
Чтобы решить эту проблему:
Восстановление git с openssl вместо gnutls устранило мою проблему.
Я следовал этим инструкциям
Я использую Ubuntu 16.04. Когда я хочу git нажать начальный мастер, я получаю: ошибка: RPC не удалось; curl 56 Ошибка GnuTLS recv (-12): получено фатальное предупреждение TLS. фатальный: удаленный конец неожиданно повесил трубку фатальный: удаленный конец неожиданно повесил трубку Все обновленные
Чтобы решить эту проблему:
Восстановление git с openssl вместо gnutls устранило мою проблему.
Я следовал этим инструкциям
Принятый ответ от @harlequin может работать, но я трачу 2 часа и не могу построить пакет git из исходного кода.
Однако, проверьте приведенную ниже ссылку, поскольку это работает для меня.
Удаленный конец неожиданно повесил трубку при git клонировании
просто обновить значение почтового буфера http
git config --global http.postBuffer 1048576000
Прочитав ваши сообщения, я решил это просто
apt install gnutls-bin
У меня есть обходной путь, если вам нужно клонировать или вытащить, и проблема заключается в размере истории хранилища. Это также может помочь, если вы хотите нажать позже, без гарантии.
Просто --depth=[number of last commits]
последние коммиты с помощью --depth=[number of last commits]
.
Вы можете сделать это во время клонирования или, если вы работаете из локального репозитория, к которому вы добавили удаленный, во время извлечения. Например, чтобы получить только последний коммит (из каждой ветки):
git clone repo --depth=1
# or
git pull --depth=1
ОБНОВЛЕНИЕ: если пульт дистанционного управления слишком сильно опережает вас, проблема может вернуться позже, когда вы пытаетесь получить последние изменения, но их слишком много, и соединение закрывается с помощью curl 56. Возможно, вам придется выполнить git pull --depth=[number of commits ahead on remote]
, что утомительно, если вы работаете с очень активным репозиторием.
Вы можете установить некоторые параметры для решения проблемы.
Либо на глобальном уровне: (необходимо, если вы clone
, не забудьте перезагрузить)
$ git config --global http.sslVerify false
$ git config --global http.postBuffer 1048576000
или в локальном репозитории
$ git config http.sslVerify false
$ git config http.postBuffer 1048576000
Я также использую систему на основе Ubuntu
(Mint mate 18), получил аналогичную проблему при клонировании большого репо из github.
Простым решением для меня было использование протокола ssh вместо протокола http (s).
например
git clone [email protected]:xxx/yyy.git
Я тоже столкнулся с этим, и перезапуск системы разрешил его:)
Попробуйте openssl
модули openssl
Я решил это, сделав это
sudo apt install openssl
Я столкнулся с этой проблемой на Ubuntu 18.04 при клонировании CppCheck с использованием https
.
Обходным путем было использование http
вместо этого.
Еще один способ: повторите попытку, иногда это происходит из-за статуса вашей сети.
Моя ситуация такова, как показано ниже.
Все, что я сделал, было отключением и повторным подключением моего компьютера от Wi-Fi, и это сработало. Иногда ответ может быть очень простым. Сейчас работает шахта
@Sachith Solution хорошо работает. Но, это долгий процесс. Если вы ленитесь делать все эти шаги. Используйте приведенный ниже сценарий для выполнения перекомпиляции git с помощью openssl вместо gnutls. Ссылки Github здесь
Проверьте правильность работы вашей сети... эта проблема также возникает из-за проблем с Интернетом
Мне удалось решить эту проблему путем клонирования с использованием SSH.
Для этого мне пришлось добавить SSH-ключ моей машины в мою учетную запись.
Кроме того, эта ошибка может возникнуть при использовании любого прокси в командной строке.
если вы ранее экспортировали прокси-сервер, отмените его.
$ unset all_proxy && unset ALL_PROXY
Попробуйте отключить IPV6 для этого и отключите после. Я думаю, что это твоя проблема.
Просто выполнение команды
git init
прежде чем клонирование разрешило это для меня.
Переустановка git решит проблему.
sudo apt-get remove git
sudo apt-get update
sudo apt-get install git