Come salvare nome utente e password in Git?

Voglio usare un push e pull automaticamente in GitExtension, senza inserire il mio utente e la mia password in un prompt, ogni volta.

Quindi come posso salvare le mie credenziali in GIT?

Soluzione

Esegui

git config --global credential.helper store

poi

git pull

fornire un nome utente e una password e quei dettagli saranno ricordati in seguito. Le credenziali sono memorizzate in un file sul disco, con i permessi del disco di "solo leggibile/scrittibile dall'utente" ma ancora in chiaro.

Se si vuole cambiare la password in seguito

git pull

fallirà, perché la password non è corretta, git rimuove quindi l'utente+password incriminati dal file ~/.git-credentials, quindi ora riesegui

git pull

per fornire una nuova password in modo che funzioni come prima.

Commentari (13)

Puoi usare il git config per abilitare la memorizzazione delle credenziali in git.

git config --global credential.helper store

Quando si esegue questo comando, la prima volta che si tira o si spinge dal repository remoto, verranno chiesti nome utente e password.

In seguito, per le successive comunicazioni con il repository remoto non sarà necessario fornire il nome utente e la password.

Il formato di memorizzazione è un file .git-credentials, memorizzato in chiaro.

Inoltre, è possibile utilizzare altri helper per il git config credential.helper, in particolare la cache di memoria:

git config credential.helper cache 

che prende un parametro opzionale timeout, che determina per quanto tempo le credenziali saranno tenute in memoria. Usando l'helper, le credenziali non toccheranno mai il disco e saranno cancellate dopo il timeout specificato. Il valore default è 900 secondi (15 minuti).


AVVERTENZA : Se usi questo metodo, le password dei tuoi account git saranno salvate in formato plaintext, nel file global .gitconfig, ad esempio in linux sarà /home/[username]/.gitconfig.

Se questo non ti piace, usa invece una chiavessh per i tuoi account.

Commentari (3)

Attivare l'helper delle credenziali in modo che Git salvi la password in memoria per un po' di tempo:

Nel Terminale, inserire quanto segue:

# Set git to use the credential memory cache
git config --global credential.helper cache

Per impostazione predefinita, Git metterà in cache la tua password per 15 minuti.

Per cambiare il timeout predefinito della cache della password, inserisci quanto segue:

# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'

Da GitHub Help

Commentari (8)