Змінено пароль GitHub, більше не вдається відштовхуватися до пульта


111

Після зміни пароля GitHub я не можу натиснути на пульт:

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

Чи є лише повторне клонування сховища?


Просто видаліть і знову додайте пульт
onmyway133

1
Дійсно? "Просто видаліть і знову додайте пульт"? Починати з нуля незручно і схильно до помилок у деяких операціях.
Jason S

1
Це також може статися після ввімкнення двофакторної аутентифікації, у цьому випадку слід дотримуватися тут інструкції: stackoverflow.com/a/34919582/2898283
mechatroner

@JasonS Повторне додавання пульта навряд чи "починається з нуля". Це змінює лише локальні копії віддалених гілок, які ви жодним чином не змінюєте; всі місцеві відділення залишатимуться недоторканими, хоча я не впевнений, чи вплине відстеження.
jpmc26

@ 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/


9
Це працює для мене. git remote show originшоу підкаже
Лазаро Фернандес Ліма Сулейман

14
Цікаво - git remote show originмене не підказували, це просто show-на мене, тому я вважав, що це не вдалося (в чому мені це потрібно було зробити). Але, про всяк випадок, я потім спробував, git push origin masterі це мене підказало. Отже ... я все-таки дістався там, де мені потрібно було бути
dwanderson

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 ), і це може пояснити, чому ваш поштовх не працює після зміни пароля GitHub.
Для брелока вам потрібно буде скинути той пароль, який зберігається в ньому .

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

Перевірте це за допомогою a git remote -v.

Ви можете змусити git використовувати ваш логін GitHub за допомогою:

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

(замініть " Username" і " MyRepo.git" на власні значення)

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

Якщо це не працює, перевірте, чи активовано 2FA (2-форму автентифікації). Якщо це так, вам потрібно створити PTA (Персональний доступ до маркера).
Докладніше див. У розділі " Налаштування клієнтів Git, як-от GitHub для Windows, щоб не просити автентифікацію ".


Дякую, я використовую 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
Choylton B. Higginbottom

Працює на Ubuntu 16.04 LTS.
sd

22

У системі Windows жоден із кроків для мене не працював, проблема полягає в тому, що облікові дані зберігаються в Менеджері облікових даних Windows.

Ви можете перейти до Панелі керування -> Облікові записи користувачів -> Менеджер довірених даних -> Уповноважені дані Windows

У розділі Generic Credentials ви знайдете свій git Url, розгорніть вибір та натисніть на редагувати.

Після редагування ще раз запускайте git push, і він повинен працювати.

Джерело інформації: - Видаліть облікові дані з Git


1
Я можу підтвердити те ж саме в Windows 10.
tmsss

Це працювало для мене. Windows зберігає облікові дані git і після оновлення пароля для Windows мій офіційний git-акаунт не зміг синхронізуватися.
Крішна Оза

16

З того, що я пережив, вам просто потрібно знову ввести віддалений додаток .

І git запитає usr / пароль для нового, а не мовчить і використовувати застарілий.

перегляньте ваші пульти, знайдіть, який ви хочете змінити

>git remote  
github
gitcafe
company

Наприклад, якщо ви змінили пароль компанії repo, ви можете:

>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. Перевірте та оновіть там, якщо потрібно.

(Я знаю, що це трохи очевидно і просто, але може допомогти деяким людям.)


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, і я не хотів видаляти пульт, тому що в мене були місцеві зміни, які мені потрібно було натиснути.

В кінці кінців , відповідь на seveas на це питання на GitHub Community Forum вказав мені в правильному напрямку. Ключовим було - пов’язати назву мого акаунта 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досяг успіху.


0

Якщо у вас встановлено Github 2FA Auth, вам потрібен особистий маркер доступу (замість вашого github пароля в git cli), дотримуйтесь цих інструкцій, щоб створити його: https://help.github.com/en/github/authenticating-to -github / create-a-personal-access-token-for-the-command-line

Тоді зробіть щось подібне

git check master master

git pull origin <--- У цей момент вас запитають ваші облікові дані, введіть свого звичайного користувача github і введіть пароль, що генерується у посиланні вище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.