Voglio fare questo comando in una riga:
git pull && [my passphrase]
Come farlo?
Voglio fare questo comando in una riga:
git pull && [my passphrase]
Come farlo?
Risposte:
Questo non è esattamente quello che hai chiesto, ma per http (s):
https://user:pass@domain/repo
ma questo non è davvero raccomandato in quanto mostrerebbe il tuo utente / passaggio in molti luoghi ...Esempi di utilizzo per l'helper delle credenziali
git config credential.helper store
- memorizza le credenziali a tempo indeterminato.git config credential.helper 'cache --timeout=3600'
- memorizza per 60 minutiPer l'accesso basato su ssh, useresti l'agente ssh che fornirà la chiave ssh quando necessario. Ciò richiederebbe la generazione di chiavi sul computer, l'archiviazione della chiave pubblica sul server remoto e l'aggiunta della chiave privata al keystore pertinente.
Ho trovato un modo per fornire le credenziali per una connessione https sulla riga di comando. Devi solo specificare l'URL completo per git pull e includere le credenziali lì:
git pull https://username:password@mygithost.com/my/repository
Non è necessario clonare il repository con le credenziali prima, ciò significa che le credenziali non finiscono .git/config
. (Ma assicurati che la tua shell non ti tradisca e memorizzi la riga di comando in un file cronologico.)
:password
parte, verrà richiesta la password dopo aver premuto Invio. In questo modo, la tua password non verrà salvata nella cronologia di bash.
Non risponde direttamente alla domanda, ma ho trovato questa domanda durante la ricerca di un modo, in sostanza, di non reinserire la password ogni volta che tiro su un server remoto .
Bene, git
ti permette di memorizzare nella cache le tue credenziali per un tempo limitato. È personalizzabile in git config
e questa pagina lo spiega molto bene:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
In un terminale, eseguire:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
Per personalizzare il timeout della cache, è possibile:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Le credenziali verranno quindi archiviate in memoria per il periodo di tempo richiesto.
Si noti che il modo in cui l'helper delle credenziali git "memorizza" memorizzerà le password non crittografate cambia con Git 2.5+ (2 ° trimestre 2014).
Vedi commit 17c7f4d di Junio C Hamano ( gitster
)
credential-xdg
Modifica il "
store
" backend di esempio dell'helper delle credenziali per rispettare le posizioni dei file di configurazione XDG quando specificato.
Il documento ora dice:
Se non specificato:
- le credenziali verranno cercate da
~/.git-credentials
e$XDG_CONFIG_HOME/git/credentials
, e- le credenziali verranno scritte
~/.git-credentials
se esiste o$XDG_CONFIG_HOME/git/credentials
se esiste e la prima no.
Di seguito cmd funzionerà se non abbiamo @ in password:
git pull https://username:pass@word@mygithost.com/my/repository
se hai @ in password, sostituiscilo con% 40 come mostrato di seguito:
git pull https://username:pass%40word@mygithost.com/my/repository