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

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

И соответственно для команд извлечения и извлечения.

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

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

It seems that this issue has gotten far more recognition that I thought it would which leads me to believe that this is an issue with how Visual Studio is dealing with Git. I have also noticed that every time I update Visual Studio, this problem pops back up, and I have to go through the steps in some of the answers below to get Git working again. I'm not sure why this is happening, and I also don't know if Microsoft are planning to resolving this issue.

Ответы (43)

Если не работает из TeamУправление подключениямиЛокальные репозитории GitClone, можно попробовать любой эти два пути.

Меню ФайлСтартовая страницаОткрытьПерейти на Git

(или)

Меню ФайлОткрытьОткрыть из системы управления исходным кодом

У меня была другая проблема. Мой компьютер содержал старые файлы 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 - невозможно клонировать удаленный репозиторий

У меня была такая же проблема.У меня сработал перезапуск Visual studio ... Можете попробовать перед переустановкой.

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

git config --global --edit

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

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

Ответ 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
user.email=xxxxx@xxxxxx.xx
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://xxxxxx@bitbucket.org/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 должны работать без проблем.

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

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

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

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

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

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

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

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

Готово. В этом была проблема в моем случае.

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

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

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

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

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

В моем случае мне не пришлось делать ничего настолько радикального, как удаление Git согласно некоторым ответам здесь; Мне просто пришлось использовать командную строку вместо Visual Studio.

Откройте cmd в корне вашего решения и введите:

git pull

Затем вам точно сообщат, в чем проблема. В моем случае он сказал мне, что у меня есть незафиксированные изменения, которые были бы перезаписаны, и что мне нужно зафиксировать их, прежде чем я смогу продолжить.

Как только я это сделал, извлечение прошло успешно, и я смог разрешить конфликт в инструменте слияния.

TL; DR

Используйте командную строку вместо Visual Studio, чтобы получить более полное сообщение об ошибке.

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

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

git config --get http.proxy результат http://google.com: 80

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

git config --global --unset http.proxy

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

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

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

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

Источник: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/blob/master/Docs/Faq.md#q-i-think-microsoft-was-maintenance-this-why-does-the-gcm-not-work-as-expected-with-tfs

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

Простое решение: вы можете попросить владельца ветки удалить его !! просто :)

Problem faced: Error encountered while deleting branch from the remote repository: PushCommand.ExecutePushCommand

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

git config --global http.proxy :

Дополнительная информация: https://github.com/desktop/desktop/issues/2789

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

Один совет для новых пользователей git. Вам нужно совершить фиксацию, прежде чем вернуться к старому коду. Я пробовал все решения по этому вопросу, а потом сам нашел эту глупость. :)

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

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

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

git config --system --unset credential.helper

git config --system credential.helper store

git fetch

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

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

git fetch

Я получил эту ошибку при попытке клонировать новый репозиторий. После того, как я попробовал несколько решений, у меня сработало. В браузере Перейдите на dev.azure.com и перейдите в свое репо, нажмите «Клонировать», в среде IDE выберите Visual Studio и нажмите «Клонировать». Он откроет визуальную студию и установит учетные данные. если он снова запрашивает учетные данные, нажмите «Создать учетные данные git» и используйте его. Работает как шарм.

Close Repository

enter image description here

Когда я выполняю pull / fetch / push, я получил указанную выше ошибку в моем окне вывода, я выполнил приведенное ниже решение, оно возобновило мою проблему.

Если вы используете Visual Studio 2017 Enterprise Edition, замените userId своим идентификатором пользователя в приведенной ниже команде и выполните эту команду в окне запуска Windows (клавиша Windows + R).

runas / netonly / user: UserId "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ devenv.exe"

enter image description here

Будет запрошен пароль, введите свой пароль. Откроется новый экземпляр Visual Studio, и он начнет работать правильно ...

Пробовал вот так: https://stackoverflow.com/a/43257818/1831734

Но это не решило мою проблему. Я следил за [WINDOWS]

  1. Перейти в браузер репозитория с CMD
  2. тип: git push

Результат: ...

...
remote: Resolving deltas: 100% (11/11), completed with 10 local objects.
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/userName/repoName
 ! [remote rejected] main -> main (push declined due to email privacy restrictions)
error: failed to push some refs to 'https://github.com/userName/repoName'

Я зашел на: http://github.com/settings/emails и проверил настройки, затем изменил свой адрес электронной почты в Visual Studio / локальном компьютере

Установка вашего адреса электронной почты для каждого репозитория на вашем компьютере

  1. Откройте Git Bash.

  2. Установите адрес электронной почты в Git. Вы можете использовать свой адрес электронной почты для отсутствия ответа, предоставленный GitHub, или любой другой адрес электронной почты.

    $ git config --global user.email "email@example.com"

  3. Подтвердите, что вы правильно установили адрес электронной почты в Git:

    git config --global user.email email@example.com

    Добавьте адрес электронной почты в свою учетную запись на GitHub, чтобы ваши коммиты приписывались вам и отображались на диаграмме ваших вкладов. Дополнительные сведения см. В разделе «Добавление адреса электронной почты в учетную запись GitHub».

  4. Сбросить информацию об авторе вашего последнего коммита:

    git commit --amend --reset-author

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

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

Enter image description here

  1. Установить или обновить VS 2019 (при необходимости перезагрузить).

  2. Откройте установщик Visual Studio и удалите «Git для Windows».

  3. Полностью удалить следующую папку (и все ее содержимое):

    C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Git \
    
  4. Снова откройте установщик Visual Studio и установите «Git для Windows».

  5. Папка, которую вы удалили на шаге 3, не вернулась, и Git для Windows должен быть установлен в C: \ Program Files \ Git \.

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

Я открыл диспетчер учетных данных в Windows (не Visual Studio), выбрал «Учетные данные Windows», нашел мои git: https // stash .... com Generic Credential, щелкнул пузырьковую стрелку вниз, чтобы видимые поля Имя пользователя и Пароль с помощью кнопки Редактировать. Нажимаем Edit и вводим мой правильный пароль. Потом сразу после этого приступил к работе, закрывать ничего не надо.

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

  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.

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

Git завершился фатальной ошибкой. pull --verbose --progress --no-edit --no-stat --recurse-submodules = no origin

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

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

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

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

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

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

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

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

У меня все заработало, удалив username @ из http://username@asdf/xxx/yy/zzz.git в настройках репозитория:

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

Попробуйте:

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

Обратитесь: https://developercommunity.visualstudio.com/content/problem/142173/after-changing-domain-password-couldnt-connect-to.html

Я получаю следующее сообщение об ошибке при попытке нажать с помощью расширения GitHub для Visual Studio:

Произошла ошибка при отправке ветки в удаленный репозиторий: Git завершился неудачно, репозиторий фатальных ошибок «https://github.com/my-repo» не найден

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

Моя проблема решена ниже.

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

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

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

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

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

В Панель управления \ Все элементы панели управления \ Диспетчер учетных данных ==> Учетные данные Windows Удалить Git:http://........

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

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

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

  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

У меня была очень похожая проблема, и инструкции технического специалиста Microsoft исправили ее для меня:

  • Закройте все экземпляры Visual Studio.
  • Откройте диспетчер задач и проверьте, запущены ли какие-либо службы TFS. Выберите каждый из них и нажмите «Завершить дерево процессов».
  • Перейдите в папку ниже и удалите все содержимое и папки в% LocalAppData% \ Microsoft \ Team Foundation {version} \ Cache
  • Перейдите в Панель управления -> Учетные записи пользователей -> Управление учетными данными -> Учетные данные Windows, выберите URL-адрес VSTS, чтобы удалить его
  • Затем перейдите в «C: \ Users \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ AppData \ Local \ GitCredentialManager \ tenant.cache» и удалите его
  • Также перейдите в «C: \ Users \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ AppData \ Local.IdentityService» и удалите его

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

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

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

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

Я много пробовал и, наконец, заставил его работать с некоторыми изменениями из того, что я читал в 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.

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

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

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

Готово

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

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

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

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

Ух ты! Так много решений этой проблемы!

Попробуйте этот простой вариант!

Смените пароль!

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

enter image description here

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

Обновить

Потом это начало происходить снова. Из Team Explorer перейдите в Sync. Затем выполните Действия> Открыть командную строку. В командной строке введите git push origin. Это может сработать для вас.

У меня такая же ошибка выскакивала в VS 2017 при попытке удалить удаленную ветку. Проблема заключалась в том, что ветки не было на сервере (с использованием TFS2018 с GIT), но каким-то образом в Visual Studio она отображалась в разделе «удаленный / исходный». Это означало, что я не мог удалить удаленную ветку (VS выдавал эту ошибку, а проводник сервера вообще не отображал ветку).

Вот как это исправить (проверено в VS 2017):

  1. В Visual Studio дважды щелкните удаленную ветку «мошеннической»;
  2. VS теперь должна была создать из него локальную ветку;
  3. Щелкните правой кнопкой мыши локальную ветку, выберите «Снять удаленную ветку»;
  4. Щелкните правой кнопкой мыши локальную ветку, выберите «Отправить ветку»;
  5. Теперь у вас должна быть true соответствующая удаленная ветка;
  6. Удалите удаленную ветку, затем локальную.

Hopefully it will help someone who ends up on this thread having the same issue as me.

2022 WebDevInsider