Chcę wykonać to polecenie w jednej linii:
git pull && [my passphrase]
Jak to zrobić?
Chcę wykonać to polecenie w jednej linii:
git pull && [my passphrase]
Jak to zrobić?
Odpowiedzi:
Nie jest to dokładnie to, o co prosiłeś, ale dla http (s):
https://user:pass@domain/repo
ale nie jest to zalecane, ponieważ pokazałoby użytkownika / przepustkę w wielu miejscach ...Przykłady użycia pomocnika poświadczeń
git config credential.helper store
- przechowuje dane uwierzytelniające na czas nieokreślony.git config credential.helper 'cache --timeout=3600'
- przechowuje przez 60 minutW przypadku dostępu opartego na ssh należy użyć agenta ssh, który dostarczy klucz ssh w razie potrzeby. Wymagałoby to wygenerowania kluczy na komputerze, przechowywania klucza publicznego na serwerze zdalnym i dodania klucza prywatnego do odpowiedniego magazynu kluczy.
Znalazłem jeden sposób na podanie poświadczeń dla połączenia https w wierszu poleceń. Wystarczy podać pełny adres URL do git pull i dołączyć tam poświadczenia:
git pull https://username:password@mygithost.com/my/repository
Nie musisz wcześniej klonować repozytorium z poświadczeniami, oznacza to, że twoje poświadczenia nie trafiają do .git/config
. (Ale upewnij się, że twoja powłoka cię nie zdradzi i przechowuje wiersz poleceń w pliku historii).
:password
część, po naciśnięciu Enter zostaniesz poproszony o podanie hasła. W ten sposób Twoje hasło nie zostanie zapisane w historii bash.
Nie odpowiada bezpośrednio na pytanie, ale znalazłem to pytanie, szukając sposobu, aby zasadniczo nie wprowadzać ponownie hasła za każdym razem, gdy uruchamiam zdalny serwer .
Cóż, git
pozwala na przechowywanie danych uwierzytelniających w pamięci podręcznej przez określony czas. Można go dostosować w programie, git config
a ta strona bardzo dobrze to wyjaśnia:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
W terminalu uruchom:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
Aby dostosować limit czasu pamięci podręcznej, możesz wykonać:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Twoje poświadczenia będą następnie przechowywane w pamięci przez żądany czas.
Zwróć uwagę, że sposób, w jaki pomocnik poświadczeń git przechowuje niezaszyfrowane hasła, zmienia się w Git 2.5+ (drugi kwartał 2014).
Zobacz commit 17c7f4d autorstwa Junio C Hamano ( gitster
)
credential-xdg
Dostosuj "
store
" przykładowy backend pomocnika poświadczeń, aby uwzględniał lokalizacje plików konfiguracyjnych XDG, jeśli zostały określone.
Doktor mówi teraz:
Jeśli nie określono:
- dane logowania będą wyszukiwane od
~/.git-credentials
i$XDG_CONFIG_HOME/git/credentials
, i- poświadczenia zostaną zapisane,
~/.git-credentials
jeśli istnieje, lub$XDG_CONFIG_HOME/git/credentials
jeśli istnieje, a pierwszy nie.
Poniższy cmd zadziała, jeśli nie mamy @ w haśle:
git pull https://username:pass@word@mygithost.com/my/repository
Jeśli masz @ w haśle, zamień je na% 40, jak pokazano poniżej:
git pull https://username:pass%40word@mygithost.com/my/repository