SourceTree продолжает запрашивать пароль Github

Моя организация переходит от Bitbucket к Github для управления проектами. Сегодня я пытался перенести наш последний проект из Bitbucket в Github, используя SourceTree. Я добавил второй удаленный репозиторий для проекта (используя URL-адрес репозитория-получателя в Github), обновил все, и затем попытался вывести код в репозиторий. Появилась поле с запросом пароля для моей учетной записи Github. Я ввел свой (правильный) пароль и нажал "ОК", и снова появилось диалоговое окно. Я снова ввел свой пароль (правильно), и он сделал то же самое.

Мое имя пользователя правильно определено, мой пароль верен, и я попробовал обновить SourceTree, потому что слышал, что это проблема с предыдущей версией. Проблема сохраняется.

Я использую SourceTree 2.3.1

Ответ 1

Если вы используете двухфакторную аутентификацию с GitHub, вам нужно создать токен доступа и использовать его с SourceTree:

Чтобы работать с двухфакторной аутентификацией GitHub в SourceTree, вы можете просто использовать свой токен доступа вместо пароля. Чтобы сделать это, выполните следующие действия:

  • Перейдите в настройки Точки доступа Personal Access в GitHub.
  • Нажмите кнопку Создать новый токен.
  • Назовите лексему что-то описательное.
  • Выберите области, которые вы хотите предоставить этому токену.
  • Нажмите кнопку Создать токен.
  • Скопируйте токен и используйте его в качестве пароля в размещенных репозиториях.

Дополнительную информацию об этом можно найти на Справка GitHub здесь.

Пользователи Mac: Если ваш SourceTree продолжает запрашивать пароль, перейдите в терминал и введите следующее:

git config --global credential.helper osxkeychain

Ответ 2

открыть терминал и клонировать ваше репо. URL-адрес репозитория должен иметь ваш usedid, Для примера:

$ git clone https://<username>@github.com/<userId>/<reponame>.git
$ git clone https://[email protected]/mak123/<reponame>.git

Затем перетащите клонированную папку в окно sourceTree. Также вы можете нажать кнопку "+ Новый репозиторий" и в меню, выбрав "Добавить существующий локальный репозиторий". Он может снова запросить пароль, но на этот раз он будет добавлен в ваш брелок.

Ответ 3

У меня была аналогичная вещь после обновления; Я попробовал повторно добавить свои учетные данные в битбакет, изменить протоколы и т.д., Не повезло, пока...

  • Я открыл свой брелок и искал битбакет (возможно, тот же самый для github, вместо этого вместо github) в категории "Пароли".

  • Я обнаружил, что у меня было несколько ключей доступа для моего пользователя, поэтому я закрыл свой репозиторий, удалил все ключи "пароль приложения" Kind, открыл настройки SourceTree > Учетные записи > удалил мою учетную запись и снова добавил ее (логин как обычно - я использовал Basic с HTTPS).

  • Брелок запрашивает разрешение на сохранение пароля, о котором я сказал "да", и теперь я вижу только один ключ такого типа "пароль приложения".

Я открыл свой репозиторий из браузера репо и, эй, предварительно, больше не всплывает пароль!

Это прослушивало меня целую неделю! Если бы это помогло вам, вы можете немного потанцевать со мной сейчас:)

Ответ 4

SourceTree версия 2.4.8.0

Казалось, проблема для меня заключается в порядке установки между SourceTree и GitHub. Сначала я установил SourceTree и просто нажал все опции "Настройка позже".

Простое исправление - удалите и переустановите SourceTree. Неочевидный бит должен был удалить фактические файлы программы вручную.

С любого ярлыка "SourceTree.exe" откройте расположение файла. Майн разветкился в "C:\Users\myusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Atlassian", где ярлык указывал на другой ярлык.

Откройте это местоположение файла ярлыка. Я в конечном итоге оказался в "C:\Users\myusername\AppData\Local\SourceTree". Удалите всю папку "SourceTree". Поднимитесь на один уровень вверх к "...\Local" и также удалите папку "Atlassian".

Теперь удалите SourceTree. Убедитесь, что ваш GitHub настроен так, как вы хотите (для меня я также создал и сохранил ключ SSH, который использовал для настройки SourceTree). Переустановите SourceTree, используя все правильные учетные данные, укажите правильный репозиторий и тому подобное.

После всего этого SourceTree дважды запросил мои учетные данные GitHub с двумя разными диалоговыми окнами, затем остановился и работает! Нет больше бесконечной циклы. Удачи!

Ответ 5

Решение сработало для меня, данное Эндрю Мэджиллом, Скопировано из источника: ссылка

Проблема в том, что встроенный Git-клиент SourceTree поставляется с git-credential-manager v1.12, который больше не работает с Github, так как они отключили TLS 1.1 на своем сайте. Вам нужно получить git-credential-manager v1.14. Самый простой способ сделать это - отдельно установить текущую копию клиента Git, а затем переключить SourceTree, чтобы использовать его ("системный git") вместо встроенного клиента. Кроме того, вы можете обновить git-credential-manager во встроенном клиенте, заменив его файлы самой новой версией от Microsoft.

Ответ 6

В дополнение к настройке Персонального токена доступа на GitHub и выполнению того, что указано в A_01 выше, это может быть полезно (как я, наконец, заработал)

  • Я убедился, что последняя версия Sourcetree
  • Я обновил до последней версии и использовал System Git (Сервис → Параметры → Git)
  • Обновлен до последней версии Git Credential Manager для Windows (через установщик, который я скачал и дважды щелкнул, очень просто)
  • Убедитесь, что я использовал OAuth для своей учетной записи GitHub, хранящейся в Сервис → Параметры → Аутентификация
  • Убедитесь, что я установил флажок "Разрешить Sourcetree управлять своими учетными данными с помощью Git Credential Manager" (это было важно !!) на Сервис → Параметры → Git
  • Затем, когда я запустил диалоговое окно GitHub (через нажатие на новую ветку, просто пример), я вошел в систему (там, где раньше он терпел неудачу).
  • Затем я получил 2-х факторный диалог аутентификации, и код был отправлен на мой телефон, как и ожидалось. Я смог ввести код с моего телефона в этом диалоговом окне.

Ответ 7

Я использую ключ SSH, но SourceTree каждый раз спрашивал у меня пароль.

Нашел в сообществе Atlassian, это решение работало для меня:

  1. Откройте терминал, зайдите в каталог вашего проекта
  2. Введите git config credential.helper store
  3. Тип git pull
  4. Введите имя пользователя/пароль (если требуется)

Вуаля!

Ответ 8

Если вы не используете GitHub 2FA, еще одна причина для запроса вашего пароля:

Ваш репо-адрес GitHub - это ssh, а не https.
Поскольку git не находит ваши ssh-ключи (или ваш ssh-ключ не зарегистрирован в вашей учетной записи GitHub), он не возвращается к механизму учетной записи/пароля.

Если вы используете 2FA (и https-url), то вам нужен персональный токен в качестве пароля.

Ответ 9

В моем случае это происходило с подмодулем, который дефолтовал на https, хотя основной проект использовал ssh. Я исправил это, изменив путь репо подмодуля в настройках репозитория SourceTree, чтобы использовать путь ssh вместо https.

Ответ 10

Если вы используете аутентификацию "Имя пользователя и пароль", вы можете попробовать изменить SSH-ключи для аутентификации.

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

Ответ 11

Это то, что я обнаружил (после поиска "sourcetree" на моем диске C :):

  1. Удалить SourceTree
  2. Удалить папку C:\Users [имя пользователя]\AppData\Local\Atlassian\SourceTree
  3. Удалить папку C:\Users [имя пользователя]\AppData\Local\SourceTree
  4. Переустановите SourceTree

Ответ 12

В моем случае я клонировал репо, используя URL на основе HTTPS. Затем я настроил свою учетную запись githib с двухфакторной аутентификацией с использованием ключа SSH. Поэтому всякий раз, когда я вытягивал/выдвигал изменения, мне показывался диалог для ввода моего пароля.

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

enter image description here

Ответ 13

Mac: Это решение работает для меня. После успешного клонирования кода вы открываете терминал и запускаете этот код

git config --global credential.helper osxkeychain

Ответ 14

Перейти к Sourctree → Инструменты → Параметры → Git Select