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://[email protected]':

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 [email protected]

ale nadal zawsze prosi mnie o ręczne wpisanie

Cyganka Kosmonauta
źródło
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ł[email protected] ”.
  3. trzecią alternatywą jest użycie klucza ssh (jak powiedział @StephenKitt). Aby skonfigurować github, wszystkie potrzebne informacje można znaleźć na stronie pomocy GitHub
Diego Roccia
źródło
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'
prosti
źródło