Изменен пароль GitHub, больше нельзя отправлять обратно на удаленный

111

После того, как я изменил свой пароль GitHub, я не могу нажать на пульт:

$ git push origin master
remote: Invalid username or password.

Есть только репозиторий повторно клонировать?

kenu.heo
источник
Просто удалите и снова добавьте пульт
onmyway133
1
В самом деле? «Просто удалите и снова добавьте пульт»? Запускать с нуля в некоторых операциях неудобно и чревато ошибками.
Jason S
1
Это также может произойти после включения двухфакторной аутентификации, в этом случае вы должны следовать инструкциям здесь: stackoverflow.com/a/34919582/2898283
мехатронер
@JasonS Вряд ли повторное добавление пульта «начинать с нуля». Это изменит только локальные копии удаленных веток, которые вы в любом случае не изменяете напрямую; все локальные ветки останутся нетронутыми, хотя я не уверен, что это повлияет на отслеживание.
jpmc26 05
@ jpmc26 Я не имею в виду содержимое репозитория, я имею в виду повторное добавление URL.
Jason S

Ответы:

187

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

git удаленное показать происхождение

Это запросит ваш пароль для данного пользователя git, введите его правильно и попробуйте: -

git pull

или,

git push

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

https://help.github.com/articles/setting-your-username-in-git/

https://help.github.com/articles/changing-a-remote-s-url/

Amit
источник
9
Меня устраивает. git remote show originпоказывает подсказку
Лазаро Фернандес Лима Сулейман
14
Интересно - git remote show originмне не подсказали, это просто showменя поразило, поэтому я подумал, что это не удалось (в том, что мне нужно было сделать). Но, на всякий случай, я тогда попробовал, git push origin masterи это меня побудило. Итак ... Я все еще добрался до того места, где должен был быть :)
Двандерсон 01
1
Пробовал это с IntelliJ и Android Studio, и оба не работали без перезапуска, вероятно, из-за кеширования учетных данных. Я отредактировал ответ, чтобы отразить это.
Оливер Хауслер
2
Работает так, как описано для меня.
набраун
2
Работал как положено на Mac. Должен быть принят ответ.
Aakanksha
38

Чтобы обновить пароль в вашем Терминале. Попробуйте выполнить команду ниже, она снова запросит пароль.

git push -u origin master
скрытые жемчужины
источник
37

OP kenu.heo работал вокруг проблемы путем удаления, а затем повторно клонировать репо.

Но для других:

Это зависит от вашей ОС, версии git и протокола, который вы используете.

В зависимости от ОС у вас есть способы кэширования ваших учетных данных ( OSX KeyChain на Mac , помощник по учетным данным netrc в Windows или Linux ), и это может объяснить, почему ваш push не работает после изменения пароля GitHub.
Для связки ключей вам потребуется сбросить хранящийся в ней пароль .

Эта проблема с паролем также предполагает, что вы используете URL-адрес https (а не ssh, который будет зависеть от общедоступных / закрытых ключей ssh ​​и не будет зависеть от пароля учетной записи GitHub, поскольку открытый ключ SSH зарегистрирован в вашей учетной записи GitHub не изменилось бы).

Проверьте это с помощью git remote -v.

Вы можете заставить git использовать ваш логин GitHub с помощью:

git remote set-url origin https://Username@github.com/Username/MyRepo.git

(заменить ' Username' и ''MyRepo.git ' своими значениями)

Затем попробуйте снова нажать, он должен запросить ваш пароль GitHub. Введите новый.

Если это не сработает, проверьте, активировали ли вы двухфакторную аутентификацию (2-Form Authentication). В таком случае вам необходимо создать PTA (Personal Token Access).
Дополнительные сведения см. В разделе « Настройка клиентов Git, например GitHub для Windows, чтобы не запрашивать аутентификацию ».

VonC
источник
Спасибо, я использую MacOSX, git 1.8.x. Я работал с удалением локального репо, а затем откидывал его.
kenu.heo
2
@ kenu.heo ок. Я отредактировал ответ, включив в него ваше заключение, но я также добавил элементы, которые могут помочь другим.
VonC
git remote set-url origin https://github.com/shared_repo/shared_repo.gitработал у меня в Windows из Git Shell
Чойлтон Б. Хиггинботтом
Работает на Ubuntu 16.04 LTS.
сд
22

В системе Windows ни один из шагов не помог мне, проблема в том, что учетные данные хранятся в диспетчере учетных данных Windows.

Вы можете перейти в Панель управления -> Учетные записи пользователей -> Диспетчер учетных данных -> Учетные данные Windows.

В разделе Generic Credentials вы найдете свой URL-адрес git, разверните выделение и нажмите Edit.

После редактирования просто снова запустите git push, и он должен работать.

Источник информации: - Удалить учетные данные из Git

живица
источник
1
Я могу подтвердить то же самое в Windows 10.
tmsss
Это сработало для меня. Windows сохранила учетные данные git, и после обновления пароля для Windows моя официальная учетная запись git не смогла синхронизироваться.
Кришна Оза,
16

Из того, что я испытал, вам просто нужно повторно ввести удаленный адрес .

И git запросит usr / пароль для нового, вместо того, чтобы молчать и использовать устаревший.

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

>git remote  
github
gitcafe
company

например, если вы изменили пароль репо вашей компании, вы можете:

>git remote remove company

Это не коснется вашей папки , не коснется ваших коммитов . Это просто удаляет url-строку из git

Затем снова добавьте этот URL:

>git remote add company https://git.AyCramba.com/xxx.git

Нажмите на него:

>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':

Затем он начинает давить

Надеюсь, поможет.

Хирон
источник
1
git remote set-urlЯ упоминаю в моем ответе делает удалить + добавить.
VonC
3

Имя пользователя и пароль могут храниться в диспетчере учетных данных Windows. Проверьте и обновите там, если необходимо.

(Я знаю, что это немного очевидно и просто, но некоторым людям может помочь.)

squicc
источник
2

Для меня запуск git в Windows7 с использованием git-bash, запуск:

git push origin master

Все заработало. Это побудило Windows7 снова запросить мои кредиты git, а затем сохранить их (где бы ни была Windows), чтобы обновить пароль.

Эрик Мэнли
источник
1

Хорошо, исходный пост довольно старый, но это лучший результат в Google, и ни один из ответов не помог мне. Несколько других сообщений SO и GH также не работали. Размещаю это, чтобы помочь всем, кто следит за мной здесь!

Моя ситуация немного отличается: личная учетная запись GH, отправка в репозиторий частной компании, использование SSH и командной строки git на Mac. Мой пароль не хранится ни в моей .gitconfigсвязке ключей, ни в gitcredential.helper .

В приведенном ниже примере PersonalName - это моя учетная запись GH, CompanyName - это компания (владелец репо в GH), а RepoName - это репозиторий.

Мое исходное сообщение об ошибке также было несколько другим: попытка git push origin masterпривела к

remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found

Пульт дистанционного управления работал до изменения моего пароля GH, и я не хотел удалять его, потому что у меня были локальные изменения, которые мне нужно было отправить.

В конце концов ответ от seas на этот вопрос на форуме сообщества GitHub указал мне правильное направление. Ключевым моментом было связать имя моей учетной записи GH с удаленным (частным) репо.

Это сработало для меня:

git remote set-url origin https://PersonalName@github.com/CompanyName/RepoName.git

затем

git remote show origin

с подсказкой

Password for 'https://PersonalName@github.com': 

Я смог ввести свой новый пароль, просмотреть удаленную информацию и git push origin masterдобился успеха.

ChalkBoard
источник
0

Если вы настроили Github 2FA Auth, вам понадобится личный токен доступа (вместо вашего пароля github в git cli), следуйте этим инструкциям, чтобы создать его: https://help.github.com/en/github/authenticating-to -github / создание-личный-токен-доступа-для-командной-строки

Тогда сделайте что-нибудь вроде

мастер проверки git

git pull origin <--- На этом этапе вас попросят ввести свои учетные данные, введите своего обычного пользователя github и в качестве пароля вставьте токен, сгенерированный по ссылке выше.

Фернандо Гонсалес Санчес
источник
0

Вы можете обновить имя пользователя и пароль с помощью этой команды:

$ git remote set-url origin https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

не забудьте изменить USERNAME на свое имя пользователя git и PASSWORD на новый пароль git.

следующий git push должно работать на вас.

Узнайте больше об этом в этой статье

Гидеон Бабу
источник