Przechowywanie nazwy użytkownika i hasła w Git


20

Kiedy robię

git push

Dostaję wiersz polecenia jak

Username for 'https://github.com':

następnie ręcznie wprowadzam swoją nazwę użytkownika

Username for 'https://github.com': myusername

a potem uderzam Enteri pojawia się monit o podanie hasła

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

Chcę, aby nazwa użytkownika była zapisywana automatycznie zamiast ręcznie wpisywać ją cały czas.

Próbowałem to zrobić, xdotoolale to nie wyszło.

już zrobiłem

git config --global user.name myusername
git config --global user.email myemail@gmail.com

ale nadal zawsze prosi mnie o ręczne wpisanie


wiesz, że możesz przechowywać dane uwierzytelniające w git, prawda?
Diego Roccia

Powinieneś skonfigurować klucz SSH w GitHub i użyć go zamiast tego.
Stephen Kitt

@DiegoRoccia tak, wspomniałem o tym również w pytaniu, ale to nie pomaga.
GypsyCosmonaut

Możesz użyć zgodnie z git config credential.helper storeopisem tutaj: stackoverflow.com/questions/11403407/... W tym przypadku nie przechowujesz hasła w postaci zwykłego tekstu w oryginalnym adresie URL, ale w pliku w swoim profilu. (Również nieszyfrowane)
Oleg Rudenko

Odpowiedzi:


12

Właściwie to, co zrobiłeś, to konfigurowanie informacji o autorze, tylko dla zatwierdzeń. Nie zapisałeś poświadczeń. poświadczenia można przechowywać na 2 sposoby:

  1. za pomocą funkcji poświadczeń git: https://git-scm.com/docs/git-credential-store
  2. zmień adres źródłowy na „ https: // nazwa użytkownika: hasło@github.com ”.
  3. trzecią alternatywą jest użycie klucza ssh (jak powiedział @StephenKitt). Aby skonfigurować github, wszystkie potrzebne informacje można znaleźć na stronie pomocy GitHub

dodanie nazwy użytkownika i hasła do adresu URL pochodzenia nie jest dobre ze względów bezpieczeństwa, ale jeśli czujesz się bezpieczny, to najlepsza ścieżka.
kodmanyagha

22

W Terminalu wprowadź następujące dane, aby włączyć pamięć poświadczeń:

$ git config --global credential.helper cache

Możesz zaktualizować domyślny limit czasu pamięci podręcznej haseł (w sekundach):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

Możesz także użyć (ale proszę użyć pojedynczych cudzysłowów, w przeciwnym razie niektóre znaki mogą się łamać):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.