2012-06-16 8 views
53

Postępowałem zgodnie z instrukcjami GitHub dotyczącymi zakładania konta, i jestem w stanie sklonować, ale nie mogę zdalnie pchać.Jak zresetować zapisane poświadczenia w 'git credential-osxkeychain'?

Kiedy wykonuję "git push", pojawia się błąd 403. Ma poprawny adres URL. Próbowałem "git credential-osxkeychain get", aby zobaczyć, co dawał, a to drukuje złe dane uwierzytelniające.

mogę uwierzyć w to co się stało po raz pierwszy zwróciła się do mandatów, myślałem, że to kolejna aplikacja prosi, i umieścić te niewłaściwe w.

po prostu trzeba przywrócić go tak, że używa prawidłowego element keychain na moim koncie GitHub.

Próbowałem:

git credential-osxkeychain erase 
git credential-osxkeychain set 

Program nie daje żadnych monitów. Set powie "złe wejście", jeśli nie zrobię tego, co trzeba. Próbowałem wstawić "password=password" itd., Ale kiedy robię "dostać", nadal otrzymuję stare.

Nie mogę określić, gdzie są przechowywane, ponieważ nie są one w .gitconfigure. Co więcej, nie ma żadnych ostatnich breloków, które mogłyby nim być. (Mam kilka kont GitHub w moim pęku kluczy i nie używa żadnego z nich.)

+0

pokrewnych, poświadczeń pomocnik agnostyk: http://stackoverflow.com/questions/21745213/changed-github-password-no-longer-able-to-push -back-to-the-remote –

+0

Prawdopodobny to samo w systemie Windows: http://stackoverflow.com/questions/15381198/remove-credentials-from-git –

+0

[Możesz ustawić to narzędzie pomocnicze, aby powiązać swój login z konkretnymi repo raczej niż całe domeny, jeśli chcesz korzystać z wielu kont. Więcej na ten temat tutaj] (http://stackoverflow.com/a/31351376/1922144) – davidcondrey

Odpowiedz

19

Rozwiązaniem okazała się następująco:

Komenda git credential-osxkeychain był przy wejściu konta pierwszy GitHub w moim pęku kluczy. Ten nie był tym, który miał dostęp do danych projektów.

Rozwiązałem problem, dotykając konta w Dostępu do pęku kluczy, aby zmienić jego datę (chyba zmieniłem komentarz), a teraz, gdy stało się najnowszym kontem GitHub, stało się ono pierwszym zwróconym do credential-osxkeychain, i dlatego wszystko działało.

Lepsza forma obsługi wielu kont GitHub byłaby miła, ale jest prawdopodobne, że większość osób ma tylko jedno konto główne i nie napotyka tego problemu.

+2

Nie jestem pewien jak to działa dla wielu użytkowników na tym samym hoście, ale możesz sprawdzić ssh i użyć pliku '~/.ssh/config' zamiast używać Keychain OSX. Jest to stosowane w przypadkach, gdy możesz mieć wiele kluczy ssh dla różnych hostów (i kont myślenia). http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/ – jusopi

+0

Ty cholerny bohaterze! – Cristian

54

Nie jestem pewien, jak wymazać z wiersza poleceń, ale dość łatwo zrobić to za pomocą aplikacji Dostęp do pęku kluczy. Po prostu przejdź do Applications -> Utilties -> Keychain Access, następnie wpisz "github.com". Możesz usunąć nieprawidłowy element lub zaktualizować hasło za pomocą aplikacji.

+2

Jeśli ktoś czytający ten rysunek, jak to zrobić z linii poleceń, byłoby miło wiedzieć. – funroll

+1

@funroll Narzędzie wiersza poleceń ma wartość 'security'. Strona man stwierdza, że ​​ma polecenie 'delete-internet-password'. – benzado

+0

Dzięki za aktualizację, jestem pewien, że przyda się komuś. – funroll

9

git-credential-osxkeychain przechowuje hasła w Apple Keychain, jak wspomniano powyżej.

Domyślnie gitcredentials uwzględnia tylko nazwę domeny. Jeśli chcesz, aby Git uwzględniał pełną ścieżkę (np. Jeśli masz wiele kont GitHub), ustaw zmienną useHttpPath na , zgodnie z opisem podanym na http://git-scm.com/docs/gitcredentials.html. Pamiętaj, że zmiana tego ustawienia spowoduje ponowne podanie poświadczeń dla każdego adresu URL.

40

z Terminalu:

$ git credential-osxkeychain erase 
host=github.com 
protocol=https 
<press return> 
+1

Wspaniale to działa z git credential-wincred kasuj też –

+2

Z jakiegoś powodu nie mogłem znaleźć żadnych danych uwierzytelniających Git/GitHub w aplikacji Keychain, ale zadziałało. Dzięki! – Donald

3

Na Mac, użyj polecenia git credential-osxkeychain erase.

lub usuwać ręcznie z kluczy z ZastosowanieNarzędziapęku kluczy. Następnie usuń pęku kluczy github.com. Następnie użyj przycisku; poprosi o dostęp do pęku kluczy; następnie odmów.

Zapyta o nową nazwę użytkownika i hasło, a następnie dodaje do tego plik.

Po znalazłem ten błąd. Następnie używam górną CASE- problem:

remote: Permission to user1/file.git denied to user2(previously exist user ). fatal: unable to access ' https://github.com/xxxxxxxxxxxx/ ': The requested URL returned error: 403

Powiązane problemy