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?
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.
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 <timeout>
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.
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