Команды Git сбой HttpRequestException

Я запускаю Git версии 2.12.1 на Windows Server 2012 R2, работающий с облачным сервисом Team Team Foundation. Независимо от того, какую команду Git я запускаю, я продолжаю получать ту же ошибку. Я даже полностью открыл свой брандмауэр, чтобы убедиться, что это вызвало его, но безрезультатно. Я пробовал Clone, Push и Pull, и все они возвращают эту ошибку.

git clone https://myaccount.visualstudio.com/_git/myProject
Cloning into 'myProject'...
fatal: HttpRequestException encountered.
   An error occurred while sending the request.

Unhandled Exception: System.ObjectDisposedException: Cannot access a closed file.
   at System.IO.__Error.FileNotOpen()
   at System.IO.FileStream.Flush(Boolean flushToDisk)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at Microsoft.Alm.Git.Trace.Microsoft.Alm.Git.ITrace.Flush()
   at Microsoft.Alm.Cli.Program.Die(String message)
   at Microsoft.Alm.Cli.Program.Die(Exception exception)
   at Microsoft.Alm.Cli.Program.Main(String[] args)

Ответ 1

Это столбец из Git Credential-Manager для Windows: см. Его вопрос 481.
Это помощник учетных данных, который будет кэшировать в диспетчере учетных данных Windows хранит пароль, связанный с учетной записью и удаленным URL-адресом сервера Git Hosting.

Проверьте значение git config credential.helper

Нормальное разрешение: обновление Git (который включает GCM).

В случайном случае годовая ошибка, связанная с файлом, является побочным продуктом изменения конфигурации GitHub SSL (сделано вчера), сопровождающий Git для Windows просто в твиттере:

Если у вас возникли проблемы с подключением к GitHub из Windows сегодня, обязательно обновите последнюю версию Git для Windows.
GitHub изменил свою конфигурацию SSL.


В качестве обходного пути (по крайней мере, чтобы подтвердить, что это проблема), удалите credential.helper из любого файла настроек git config. См. git config -l --show-origin чтобы перечислить все из них.

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

Проверьте также, является ли последняя версия GCM (Git Credential Manager - для Windows) последней.

Для этого проверьте, какую версию Git вы используете.
Проверьте, где установлена ваша программа Git: введите сеанс CMD.

where git

Как только вы узнаете, где установлен Git, вы можете перейти к версии GCM, встроенной в Git:

C:\path\To\git
"./mingw64/libexec/git-core/git-credential-manager.exe" version
Git Credential Manager for Windows version 1.14.0

Ответ 2

В соответствии с этой проблемой, связанной с отслеживателем проблем Git Credential Manager и моим собственным опытом сегодня, ошибка HttpRequestException, за исключением System.ObjectDisposedException: не удается получить доступ к закрытому файлу с ранее работающим репозиторием, вероятно, из-за развертывания узла хранилища TLS 1.2, и вы используете версию Git Credential Manager до версии 1.14.0 (входит в Git для Windows v2.16.2).

Чтобы решить, обновите Git для Windows v2.16.2 или новее.

Чтобы напрямую обращаться к iagowp, если это репозиторий, размещенный в Github, они начали принудительно устанавливать TLS 1.2 с 19:00 по UTC 22 февраля.