Zmienione hasło GitHub, nie można już odesłać do pilota

111

Po zmianie hasła GitHub nie mogę wysłać do pilota:

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

Czy istnieje tylko ponowne sklonowanie repozytorium?

kenu.heo
źródło
Po prostu usuń i dodaj pilota ponownie
onmyway133
1
Naprawdę? „Po prostu usuń i dodaj pilota ponownie”? Rozpoczynanie od zera jest niewygodne i podatne na błędy w niektórych operacjach.
Jason S
1
Może się to również zdarzyć po włączeniu uwierzytelniania dwuskładnikowego, w tym przypadku należy postępować zgodnie z instrukcją tutaj: stackoverflow.com/a/34919582/2898283
mechatroner
@JasonS Ponowne dodanie pilota nie „zaczyna się od zera”. To zmodyfikowałoby tylko lokalne kopie zdalnych oddziałów, których i tak nie modyfikujesz bezpośrednio; wszystkie lokalne oddziały pozostałyby nienaruszone, chociaż nie jestem pewien, czy wpłynie to na śledzenie.
jpmc26
@ jpmc26 Nie mam na myśli zawartości repozytorium, mam na myśli ponowne dodanie adresu URL.
Jason S,

Odpowiedzi:

187

Jeśli zmieniłeś tylko hasło pilota, a nie nazwę użytkownika, spróbuj następującego polecenia, aby sprawdzić informacje o pilocie: -

git remote show origin

Spowoduje to wyświetlenie hasła dla danego użytkownika git, wypełnij je poprawnie, a teraz spróbuj: -

git pull

lub,

git push

Powinno działać, chyba że musisz zmienić inne rzeczy, takie jak nazwa użytkownika lub zdalny adres URL, możesz zapoznać się z następującą dokumentacją Gita: -

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

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

Amit
źródło
9
Mi to pasuje. git remote show originpokazuje podpowiedź
Lazaro Fernandes Lima Suleiman
14
Interesujące - git remote show originnie podpowiedziało mi, po prostu- showmnie to, więc pomyślałem, że się nie udało (w tym, czego potrzebowałem). Ale na wszelki wypadek spróbowałem git push origin masteri to mnie skłoniło. Więc ... nadal dotarłem tam, gdzie potrzebowałem :)
dwanderson
1
Wypróbowałem to z IntelliJ i Android Studio i oba nie działały bez ponownego uruchomienia, prawdopodobnie dlatego, że poświadczenia są buforowane. Zredagowałem odpowiedź, aby to odzwierciedlić.
Oliver Hausler
2
Działało tak, jak opisano dla mnie.
nabrown
2
Działał zgodnie z oczekiwaniami na komputerze Mac. Powinna zostać zaakceptowana odpowiedź.
Aakanksha
38

Aby zaktualizować hasło w swoim terminalu. Wypróbuj poniższe polecenie, ponownie wyświetli monit o hasło.

git push -u origin master
ukryte perły
źródło
37

PO kenu.heo się obejść ten problem przez usunięcie, a następnie ponowne klonowanie repo.

Ale dla innych:

To zależy od Twojego systemu operacyjnego, wersji git i używanego protokołu.

W zależności od systemu operacyjnego możesz buforować swoje poświadczenia ( OSX KeyChain na Macu , pomocnik poświadczeń netrc w systemie Windows lub Linux ), a to może wyjaśnić, dlaczego push nie działa po zmianie hasła GitHub.
W przypadku pęku kluczy należałoby zresetować zapisane w nim hasło .

Ten problem z hasłem sugeruje również, że używasz adresu URL https (nie adresu ssh, który zależy od publicznych / prywatnych kluczy SSH i nie ma na niego wpływu hasło do konta GitHub, ponieważ publiczny klucz SSH zarejestrowany na koncie GitHub nie zmieniłby się).

Sprawdź to za pomocą git remote -v.

Możesz zmusić git do korzystania z Twojego loginu GitHub za pomocą:

git remote set-url origin https://[email protected]/Username/MyRepo.git

(zastąp „ Username” i „ MyRepo.git” własnymi wartościami)

Następnie spróbuj ponownie wypchnąć, powinien poprosić o hasło GitHub. Wprowadź nowy.

Jeśli to nie zadziała, sprawdź, czy aktywowałeś 2FA (uwierzytelnianie 2-formularzowe). W takim przypadku musisz wygenerować PTA (Personal Token Access).
Więcej informacji można znaleźć w sekcji „ Konfigurowanie klientów Git, takich jak GitHub dla systemu Windows, aby nie prosić o uwierzytelnianie ”.

VonC
źródło
Dzięki, używam MacOSX, git 1.8.x. Pracowałem nad usunięciem lokalnego repozytorium, a następnie odchyliłem je.
kenu.heo
2
@ kenu.heo ok. Zredagowałem odpowiedź, aby zawrzeć Twój wniosek, ale dodałem również elementy, które mogą pomóc innym.
VonC,
git remote set-url origin https://github.com/shared_repo/shared_repo.gitpracował dla mnie w systemie Windows z Git Shell
Choylton B. Higginbottom
Działa na Ubuntu 16.04 LTS.
sd
22

W systemie Windows żaden z kroków nie zadziałał, problem polega na tym, że poświadczenia są przechowywane w Menedżerze poświadczeń systemu Windows.

Możesz przejść do Panelu sterowania -> Konta użytkowników -> Menedżer poświadczeń -> Poświadczenia systemu Windows

W sekcji Poświadczenia ogólne znajdziesz swój adres URL git, rozwiń wybór i kliknij edytuj.

Po edycji po prostu uruchom ponownie git push i powinno działać.

Źródło informacji: - Usuń poświadczenia z Git

Sok roślinny
źródło
1
Mogę potwierdzić to samo na Windows 10.
tmsss
To zadziałało dla mnie. System Windows przechował poświadczenia git i po zaktualizowaniu hasła do systemu Windows moje oficjalne konto git nie mogło się zsynchronizować.
Krishna Oza
16

Z tego, czego doświadczyłem, wystarczy ponownie wprowadzić zdalny adres .

A git zapyta usr / password o nowe, zamiast milczeć i używać przestarzałego.

zobacz swoje piloty, znajdź, który chcesz zmienić

>git remote  
github
gitcafe
company

na przykład, jeśli zmieniłeś hasło do repozytorium firmy, możesz:

>git remote remove company

To nie dotknie twojego folderu , nie dotknie twoich zatwierdzeń . To po prostu usuwa ciąg adresu URL z git

Następnie dodaj ponownie ten adres URL:

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

Wciśnij do tego:

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

Potem zaczyna pchać

Mam nadzieję, że to pomoże.

Chiron
źródło
1
git remote set-urlWspomnieć w mojej odpowiedzi robi usuń + dodaj.
VonC
3

Nazwa użytkownika i hasło mogą być przechowywane w Menedżerze poświadczeń systemu Windows. Sprawdź i zaktualizuj tam, jeśli to konieczne.

(Wiem, że to trochę oczywiste i proste, ale może niektórym pomóc).

squicc
źródło
2

Jak dla mnie, uruchamiam git na Windows7 używając git-bash, uruchamiając:

git push origin master

Działa. To spowodowało, że Windows7 ponownie poprosił o moje dane git, a następnie zapisał je (gdziekolwiek to robi Windows), aby zaktualizować hasło.

Eric Manley
źródło
1

Ok, oryginalny post jest dość stary, ale to najlepszy wynik w Google i żadna z odpowiedzi nie zadziałała. Kilka innych postów SO i GH również nie działało. Publikuję to, aby pomóc każdemu, kto mnie tu śledzi!

Moja sytuacja jest nieco inna: osobiste konto GH, przesyłanie do prywatnego repozytorium firmy, używanie SSH i wiersza poleceń git na Macu. Moje hasło nie jest przechowywane ani w moim, .gitconfigani w żadnym pęku kluczy ani w git credential.helper.

W poniższym przykładzie PersonalName to moje konto GH, CompanyName to firma (właściciel repozytorium na GH), a RepoName to repozytorium.

Mój pierwotny komunikat o błędzie był również nieco inny: próba git push origin masterzakończyła się

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

Pilot działał przed zmianą hasła GH i nie chciałem go usuwać, ponieważ miałem lokalne zmiany, które musiałem wypchnąć.

Ostatecznie odpowiedź Seveas na to pytanie na forum społeczności GitHub wskazała mi właściwy kierunek. Kluczową sprawą było połączenie nazwy mojego konta GH ze zdalnym (prywatnym) repozytorium.

To zadziałało dla mnie:

git remote set-url origin https://[email protected]/CompanyName/RepoName.git

Następnie

git remote show origin

zachęcony

Password for 'https://[email protected]': 

Udało mi się wprowadzić nowe hasło, zobaczyć szczegóły pilota i git push origin masterudało mi się.

ChalkBoard
źródło
0

Jeśli masz skonfigurowane uwierzytelnianie Github 2FA, potrzebujesz osobistego tokena dostępu (zamiast hasła github w git cli), postępuj zgodnie z instrukcjami, aby go utworzyć: https://help.github.com/en/github/authenticating-to -github / tworzenie-osobistego-tokenu-dostępu-dla-wiersza-poleceń

Następnie zrób coś takiego

git checkout master

git pull origin <--- W tym momencie zostaniesz poproszony o podanie danych uwierzytelniających, wprowadź swojego zwykłego użytkownika github i jako hasło wklej token wygenerowany w powyższym linku.

Fernando Gonzalez Sanchez
źródło
0

Możesz zaktualizować nazwę użytkownika i hasło za pomocą tego polecenia:

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

pamiętaj, aby zmienić USERNAME na swoją nazwę użytkownika git i PASSWORD na nowe hasło git.

Następny git pushpowinien działać dla Ciebie.

Dowiedz się więcej na ten temat w tym artykule

Gideon Babu
źródło