it-swarm.com.ru

Visual Studio 2017 - сбой Git с фатальной ошибкой

Я использую Visual Studio 2017 Community Edition (CE), и я вошел в свою учетную запись Microsoft, и я подключен к VSTS. Я вижу все свои проекты и репозитории, но когда я пытаюсь получить/извлечь/отправить любые изменения, я получаю следующую ошибку:

Error encountered while pushing to the remote repository: Git failed with a fatal error.
PushCommand.ExecutePushCommand

И соответственно для команд fetch и pull тоже.

Я установил Git для Windows на установщик Visual Studio 2017, и он не только не работает с VSTS, но и не может работать ни с одним из моих репозиториев GitHub. Кто-нибудь еще заметил это? Пока что это случилось на двух моих машинах.

Visual Studio 2015 Enterprise Edition (EE) и CE работают совершенно нормально для меня.

Кажется, что эта проблема получила гораздо большее признание, чем я думал, и это заставляет меня поверить, что это проблема того, как Visual Studio работает с Git. Я также заметил, что каждый раз, когда я обновляю Visual Studio, эта проблема всплывает снова, и мне нужно пройти через шаги в некоторых ответах ниже, чтобы заставить Git работать снова. Я не уверен, почему это происходит, и я также не знаю, планируют ли Microsoft решить эту проблему.

113
Toby

Я собираюсь добавить решение здесь, которое предыдущие ответы еще не упомянули, но это то, что исправило это для меня.

  1. Перейдите к C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\ и удалите папку Git.

  2. Убедитесь, что в вашей системе не установлена ​​версия Git, удалите ее, перейдя в Панель управленияПрограммы и компоненты (TortoiseGit не нужно удалять из моего опыта, только нативные установки git) ,.

  3. Откройте установщик Visual Studio 2017 и снимите флажок «Git For Windows» в параметрах установки.

  4. Перейдите на сайт Git и установите последнюю версию Git для Windows.

  5. Вернитесь в установщик Visual Studio и снова отметьте «Git for Windows». Он не будет загружать новую версию, даже если он выглядит так, как есть. После того, как это сделано, ваш Git должен быть в порядке с VSTS и TF Explorer. 

49
Toby

У меня была другая проблема. Мой компьютер содержал старые файлы OpenSSL DLL в system32 и syswow64, поэтому для решения моей проблемы мне пришлось скопировать libeay32.dll и ssleay32.dll из одной папки в другую папку в папках Git Visual Studio 2017.

ОТ: C:\Program Files (x86)\Microsoft Visual Studio\2017\vs_edition\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\

TO: C:\Program Files (x86)\Microsoft Visual Studio\2017\vs_edition\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core

Ссылка: Git - Не могу клонировать удаленный репозиторий

40
flatrick

После того, как я изменил общие учетные данные из Панель управленияУчетные записи пользователейДиспетчер учетных данных для Git, у меня все заработало.

 Enter image description here

37
wbing520

Я много пробовал и, наконец, получил работу с некоторыми изменениями из того, что я прочитал в Git - Не могу клонировать удаленный репозиторий:

  1. Изменить установку Visual Studio 2017 CE → удалить Git для Windows (программа установки → изменить → отдельные компоненты).

  2. Удалить все из C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git.

  3. Изменить установку Visual Studio 2017 CE → добавить Git для Windows (программа установки → изменить → отдельные компоненты)

  4. Установите Git в Windows (32- или 64-битная версия), настроив Git в системном пути.

Возможно, пункты 2 и 3 не нужны; Я не пытался.

Теперь это работает хорошо на моих Gogs.

13
AngelBlueSky

Это ошибка, которую я получил:

Git failed with a fatal error.
pull --verbose --progress --no-edit --no-stat --recurse-submodules=no Origin

Я перепробовал все предыдущие методы, но они не сработали. Позже я обнаружил, что в коде были некоторые конфликты (см. Окно вывода Visual Studio 2017).

Я просто отменил код, и это сработало.

11
JerryGoyal

Однажды у меня была такая ошибка от Git, когда я пытался синхронизировать репозиторий (я пытался отправлять свои коммиты, ожидая изменений от моего коллеги):

Git потерпел неудачу с фатальной ошибкой. pull --verbose --progress --no-edit --no-stat --recurse-submodules = нет Происхождение

Оказалось, что после нажатия Commit all Кнопка для создания локальной фиксации, Visual Studio оставил один файл незафиксированным, и это сложное сообщение об ошибке фактически означало: "Зафиксировать все ваши изменения".

Этот отсутствующий файл был моделью Entity Framework 6, и он часто отображается как незафиксированный файл, хотя вы ничего не изменили в нем.

Вы можете зафиксировать все или отменить все изменения, которые не зафиксированы.

7
ZenekMetalGuru

Похоже, это происходит в VS 2017, когда существует ожидающий коммит, который будет конфликтовать с извлечением. Если вы идете в командный терминал и выполняете команду «git pull Origin», вы обычно получаете ошибку, которая является источником путаницы. Чтобы решить эту проблему, проверьте все свои изменения в VS 2017, а затем попробуйте снова выполнить синхронизацию с VS 2017. Нет необходимости говорить, что это нежелательное поведение в VS 2017.

5
GGleGrand

Я была такая же проблема. Перезапуск Visual Studio работал для меня ... Вы можете попробовать это перед переустановкой вещи.

3
Éric Bergeron

Я была такая же проблема. Следующие шаги решили проблему для меня:

  1. Создайте резервную копию и удалите «C:\Program Files (x86)\Microsoft Visual Studio 14.0\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git»
  2. Установите последнюю версию Git: https://git-scm.com/download/win
3
Undercover1989

Я использую GitKraken и Visual Studio 2017.

Когда GitKraken клонирует репозиторий, он оставляет адрес выборки, например, «[email protected]: user/Repo.git» вместо « https://github.com/user/Repo.git ».

Чтобы это исправить, перейдите к Team ExplorerНастройкиНастройки репозиторияRemotesРедактировать и измените "git @" в "https: //" and ":" в "/".

3
Avius

В Control Panel\All Control Panel Items\Credential Manager ==> Windows Credentials Remove Git: http: // ........

и повторите попытку ..

Наслаждайтесь !

2
Abdellah Azizi

Я заработал, удалив username @ из http: //[email protected]/xxx/yy/zzz.git в настройках репозитория:

Team ExplorerНастройкиНастройки репозиторияУдаленныеРедактировать

1
Michael Nylund

Я получил следующие сообщения об ошибках, используя Visual Studio 2017 CE.

Не удалось отправить в удаленный репозиторий. Смотрите окно вывода для более подробной информации.

Окно вывода показало следующее:

Ошибка при отправке в удаленный репозиторий: процесс Git неожиданно завершился неудачей . PushCommand.ExecutePushCommand

Я пытался Push-изменения с помощью GitHub Desktop. Это показывает следующее сообщение об ошибке.

Невозможно отправить эти коммиты, так как они содержат адрес электронной почты, помеченный как частный на GitHub.

Вот и все. Решение:

открыть учетную запись GitHub >> Настройки >> Электронная почта >> Снимите флажок «Сохранить мой адрес электронной почты в тайне»

Это сделано. Это была проблема в моем случае.

1
Pranav

Я столкнулся с этой проблемой также. Я синхронизировал свой код ранее в тот же день, поэтому не имело смысла, что он внезапно выдал эту ошибку Git. Перезапуск Visual Studio не имел никакого значения. Изучив приведенные выше ответы и не найдя четкого решения, я решил попробовать синхронизироваться за пределами Visual Studio с помощью уже установленного TortoiseGit. Это сработало. После этого я смог нормально синхронизироваться в Visual Studio. Если у вас еще нет TortoiseGit, вы можете скачать его (бесплатно) с tortoisegit.org.

1
user1828192

В моем случае Windows запустила обновление и ожидала перезагрузки ПК. Я не видел никаких уведомлений, но, ну ... отключение и повторное включение решило проблему.

Попробуйте это прежде, чем приступить к работе с любым из этих каталогов и приложений Visual Studio.

1
RLH

Я смог решить проблему с помощью этой строки в командной строке, не переустанавливая что-либо.

git config --global credential. {myserver} .authority NTLM

Просто замените {myserver} именем хоста вашего сервера (без http или номера порта).

После этого VS смог правильно подключиться.

Источник: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/blob/master/Docs/Faq.md#qi-thought-Microsoft-was-mainicing-this-why-does- "gcm-not-work-as-Ожидается-с-TFS"

1
maxim1500

Вот Это Да! Есть так много решений этой проблемы!

Попробуйте это легко!

Поменяйте ваш пароль!

Буквально на днях я начал получать уведомление о том, что срок действия моего пароля истечет через 14 дней. Теперь, 2 дня спустя, я получаю эту ошибку:

 enter image description here

Мне действительно не хотелось взламывать библиотеки git или OpenSSL, поэтому я просто изменил пароль Windows на моем компьютере, и это сработало!

Обновление

Затем это начало происходить снова. Из Team Explorer перейдите в Sync. Затем выполните Actions> Open Command Prompt. В командной строке введите git Push Origin. Это может сработать для вас.

1
Jess

попробуйте установить GIT и проверьте GIT LFS.

0
zzfima

У меня была эта проблема после изменения пароля доступа к git! 

Мне пришлось сбросить учетные данные через консоль PowerShell.

На уровне папки репозитория git скрипт был следующим:

git config --system --unset credential.helper

git config --system credential.helper store

git fetch

Вам будет предложено ввести имя пользователя, а затем пароль.

Следующая команда больше не будет запрашивать аутентификацию:

git fetch
0
Wagner Melo

В моем случае неуспешный модульный тест Jest, препятствующий отправке в репозиторий, дает такую ​​же общую ошибку: «Ошибка при отправке в удаленный репозиторий: сбой Git с фатальной ошибкой». 

0
Rob C

У меня были похожие проблемы. В Visual Studio 2017 с опцией Rebase я решил свою проблему. 

У меня только мастер ветка. Я перебазировался из master в Origin/master (значит в ту же ветку) и нажал Rebase . Перед выполнением Rebase статус был, я зафиксировал свои изменения, однако не смог нажать/синхронизировать, так как моя локальная база ветвей и база кода Git не были синхронизированы.

0
Pallavi

У меня также была эта проблема после того, как я получил wget из инструментов GNU и скопировал ее прямо в c:\windows . Файлы libeay.dll и libssl.dll также были в архиве. Когда они были в c:\windows , у меня была эта проблема. Удаление их сразу исправило. Итак, проверьте, есть ли у вас эти .DLL-файлы где-то на вашем пути, VS может выбирать их версии другого программного обеспечения вместо того, чтобы использовать ожидаемые. 

0
Nick Pirocanac

Проблема усугубляется удалением локального репо, чтобы я мог клонировать свежую копию. Я столкнулся с новой ошибкой "git не найден. Git завершился ошибкой с фатальной ошибкой.fatal: хранилище 'xyz' не найдено" 

Я попробовал все предложения, о которых я гуглю без разрешения. У меня сработал следующий простой шаг, и я добавляю его в растущий список возможных решений: 

git config - получите http.proxy результат будет http://google.com:80

это не правильно, поэтому я избавился от этого.

git config --global --unset http.proxy 

0
CodesOfPSJ

Если вы используете прокси, откройте командную строку и попробуйте:

git config --global http.proxy <proxy address>:<port>

Более подробная информация на: https://github.com/desktop/desktop/issues/2789

0
Simba Meek

После установки последней версии Git для Windows вы должны открыть файл конфигурации для редактирования:

git config --global --edit

Нажмите Insert, удалите все настройки, нажмите Escвведите :wq и, Enter сохранить.

Теперь вы можете клонировать репозиторий с помощью Bash или IDE с действительным пользователем.

0
johnander11

Эта проблема всегда происходит со мной - когда мне нужно сменить пароль .. Такое ощущение, что всегда есть другая проблема с моими старыми учетными данными, которые не обновляются.

  1. Зайдите в диспетчер учетных данных Windows

  2. Удалить все учетные записи Tfs

Законченный

0
Peter

Я исправил эту проблему, удалив 64-битную версию и установив 32-битную версию Git

0
tonycdp

Здесь много решений, для меня вот что сработало.

  1. Я сначала изменил учетные данные из моей Windows. В поиске Windows выполните поиск «Диспетчер учетных данных», затем перейдите в «учетные данные Windows» и обновите (опция «Изменить») мой пароль до моего нового пароля. (Панель управления → Учетные записи пользователей → Диспетчер учетных данных для Visual Studio Git)

  2. Я перезапустил Visual Studio и попытался нажать, но я все еще получил «Ошибка аутентификации».

  3. Я вернулся к диспетчеру учетных данных Windows на шаге 1 и удалил (опция «Удалить») учетную запись GIT, привязанную к моей Visual Studio, снова нажал и все прошло.

0
DAVID OLASUPO
  1. Перейдите к C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\ 
  2. Удалить папку Git
  3. Visual Studio
0
Kanna Reddy

ответ AngelBlueSky работал частично для меня. Мне пришлось выполнить эти дополнительные строки, чтобы очистить глобальную конфигурацию Git после шага 4:

git config --global credential.helper wincred
git config http.sslcainfo "C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt"
git config --global --unset core.askpass
git config --global --unset mergetool.vsdiffmerge.keepbackup
git config --global --unset mergetool.vsdiffmerge.trustexitcode
git config --global --unset mergetool.vsdiffmerge.cmd
git config --global --unset mergetool.Prompt
git config --global --unset merge.tool
git config --global --unset difftool.vsdiffmerge.keepbackup
git config --global --unset difftool.vsdiffmerge.cmd
git config --global --unset difftool.Prompt
git config --global --unset diff.tool

Тогда git config -l (выполняется из любого git-репо) должен возвращать только это:

core.symlinks=false
core.autocrlf=false
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=xxxxxxxxxxxx
[email protected]
credential.helper=wincred
core.bare=false
core.filemode=false
core.symlinks=false
core.ignorecase=true
core.logallrefupdates=true
core.repositoryformatversion=0
remote.Origin.url=https://[email protected]/xxx/xxx.git
remote.Origin.fetch=+refs/heads/*:refs/remotes/Origin/*
branch.master.remote=Origin
branch.master.merge=refs/heads/master
branch.identityserver.remote=Origin
branch.identityserver.merge=refs/heads/identityserver
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

Выполните команды git status и git fetch, чтобы проверить, работает ли он из командной строки.

Затем перейдите в Visual Studio, где ваши репозитории должны вернуться, и все операции синхронизации/Push/Pull должны работать без проблем.

0
Softlion

Пытаться:

Закрытие всех экземпляров VS, а затем удаление учетной записи для сервера TFS в Панели управления -> Учетные записи пользователей-> Диспетчер учетных данных

См. https://developercommunity.visualstudio.com/content/problem/142173/after-changing-domain-password-couldnt-connect-to.html

0
Luiz Fernando Corrêa Leite