Pracuję z repozytorium na GitHub i za każdym razem, gdy próbuję coś wypchnąć, prosi o moją nazwę użytkownika i hasło do GitHub. Nie chcę tego robić.
Wypróbowałem instrukcje dotyczące ustawiania adresu e-mail w Git , a mianowicie skonfigurowania zmiennych Git github.user i github.token, ale to nie miało znaczenia.
Nie rozumiem, dlaczego tak się dzieje.
Odpowiedzi:
Musisz skonfigurować agenta ssh, dla którego wystarczy tylko raz uwierzytelnić. Zobacz odpowiedź na SO w Howto.
źródło
Miałem dzisiaj podobny problem: zepsułem rzeczy w mojej kopii roboczej, więc postanowiłem zmienić nazwę katalogu i ponownie sklonować mój projekt z github. Ale po zrobieniu tego musiałem wprowadzić hasło, aby wykonać dowolne żądanie pull / push, zamiast wpisywać hasło tylko raz, tak jak kiedyś.
Stało się tak, ponieważ dzisiaj użyłem protokołu https do sklonowania projektu! Aby sprawdzić, jakiego protokołu używasz, po prostu uruchom
i spójrz na linię zaczynającą się od „remote.origin.url”.
Aby przełączyć protokoły:
the_repository_username
iyour_project
należy go zastąpić odpowiednią nazwą repozytorium i właścicielem tego repozytorium. Nazwa użytkownika będzie twoja, jeśli jesteś właścicielem repozytorium, lub nazwa użytkownika właściciela repozytorium w przeciwnym razie.źródło
[email protected]:some-user/repo-name.git
remote.origin.url
zestaw do metody https i nawet nie zauważyłem, że istnieją metodyhttps
vs.ssh
Ten adres URL pomógł mi zobaczyć oczywiste: help.github.com/articles/…git config remote.origin.url ...
zastosowanym powyżej, agit remote set-url origin ...
?git remote rm origin
Jeśli używasz HTTPS zamiast SSH, możesz wykonać następujące czynności:
Znajdź swój zdalny adres URL (remote.origin.url) za pomocą
dzięki Sergio Morstabilini
Twój zdalny adres URL będzie wyglądał tak: https: // {NAZWA UŻYTKOWNIKA} @ github.com / {NAZWA UŻYTKOWNIKA} / {REPONAME} .git
Wykonaj to polecenie:
źródło
@
, nie działała dla mnie..git/config
pliku jako zwykły tekst !Wolę używać HTTPS, uważam to za łatwiejsze i bezpieczniejsze niż konfigurowanie kluczy ssh.
Korzystając z HTTPS, możesz uniemożliwić gitowi pytanie twojej nazwy użytkownika o piloty github w następujący sposób:
Możesz przynajmniej zmniejszyć częstotliwość, o którą prosi git o hasło, używając:
Gdzie 28800 to 8 godzin. Korzystam z tej konfiguracji, aby wprowadzić hasło tylko raz, kiedy zaczynam dzień pracy.
Następnie będziesz mieć te wpisy w swoim
~/.gitconfig
Źródło:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
źródło
Jeśli konfigurujesz klucz ssh dla github, jeśli nie jest to klucz domyślny, musisz dodać sekcję do
~/.ssh/config
źródło
Jeśli korzystasz z systemu Windows za pomocą protokołu HTTPS, wypróbuj Git Credential Store - używa Windows Credential Store do przechowywania twojego imienia i hasła.
Następnym razem, gdy wpiszesz swoje imię i hasło, zapamięta je dla Ciebie.
źródło
Ponadto, jeśli chcesz być monitowany o hasło za każdym razem, ale po prostu nie o nazwę użytkownika, skonfiguruj pilota jako HTTPS z nazwą użytkownika.
Następnie za każdym razem będziesz proszony o podanie hasła, ale nie o nazwę użytkownika.
Tak mi się podoba, ponieważ lubię być zmuszony do wpisywania hasła do github przed udostępnieniem go światu.
źródło
Sprawy wyglądają trochę inaczej, jeśli używasz uwierzytelniania dwuskładnikowego tak jak ja. Ponieważ nie znalazłem dobrej odpowiedzi gdzie indziej, przykleję ją tutaj, aby być może później.
Jeśli używasz uwierzytelniania dwuskładnikowego, wówczas podanie nazwy użytkownika / hasła nie zadziała - nastąpi odmowa dostępu. Możesz jednak użyć tokena dostępu do aplikacji i pomocnika git, aby go buforować. Oto odpowiednie linki:
I nie pamiętam, gdzie to widziałem, ale kiedy jesteś proszony o podanie nazwy użytkownika - tam przyklejasz token dostępu do aplikacji. Następnie pozostaw puste hasło. Pracowałem na moim komputerze Mac.
źródło
użyj SSH
Aby GitHub nie pytał o hasło podczas wypychania, najlepiej użyć SSH (
[email protected]:...
) zamiast HTTPS URL (https://github.com/...
) i dodać swój klucz SSH do konta GitHub . Zobacz: Jakiego zdalnego adresu URL powinienem użyć?pomocnik poświadczeń
W przeciwnym razie, jeśli naprawdę potrzebujesz użyć HTTPS, do buforowania hasła GitHub w Git , powinieneś użyć pomocnika poświadczeń, aby powiedzieć Gitowi, aby zapamiętał twoją nazwę użytkownika i hasło GitHub za każdym razem, gdy rozmawia z GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
jest wymagany),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Inną metodą jest skonfigurowanie użytkownika / hasła w
~/.netrc
(_netrc
w systemie Windows), npOAuth
Użyj tokenu OAuth ( token Personal API ), aby wprowadzić zmiany, np
Związane z:
źródło
Również jeśli używasz systemu Windows, możesz użyć:
wystarczy zalogować się jeszcze raz, a następnie git zapamięta.
źródło
Pytanie o nazwę użytkownika jest dla mnie denerwujące, ale prośba o hasło jest miła, ponieważ zapewnia, że naprawdę chcesz upublicznić swoje zmiany ...
Więc po prostu dodaję to do mojego „.gitconfig”
źródło
Użyj Git Credential Manager dla Windows , jeśli korzystasz z Windows.
Wystarczy pobrać najnowszą wersję i zainstalować ją.
źródło