Quiero hacer este comando en una línea:
git pull && [my passphrase]
¿Cómo hacerlo?
Quiero hacer este comando en una línea:
git pull && [my passphrase]
¿Cómo hacerlo?
Respuestas:
Esto no es exactamente lo que solicitó, sino para http (s):
https://user:pass@domain/repo
pero eso no es realmente recomendable, ya que mostraría su usuario / pase en muchos lugares ...Ejemplos de uso para credencial auxiliar
git config credential.helper store
- almacena las credenciales indefinidamente.git config credential.helper 'cache --timeout=3600'
- almacena por 60 minutosPara el acceso basado en ssh, usaría el agente ssh que proporcionará la clave ssh cuando sea necesario. Esto requeriría generar claves en su computadora, almacenar la clave pública en el servidor remoto y agregar la clave privada al almacén de claves correspondiente.
Encontré una forma de proporcionar credenciales para una conexión https en la línea de comando. Solo necesita especificar la URL completa para git pull e incluir las credenciales allí:
git pull https://username:password@mygithost.com/my/repository
No necesita clonar el repositorio con las credenciales antes, esto significa que sus credenciales no terminan en .git/config
. (Pero asegúrese de que su shell no lo traicione y almacene la línea de comando en un archivo de historial).
:password
parte, se le pedirá la contraseña después de presionar enter. De esa manera, su contraseña no se guardará en el historial de bash.
No responde la pregunta directamente, pero encontré esta pregunta al buscar una forma de, básicamente, no volver a ingresar la contraseña cada vez que accedo a un servidor remoto .
Bueno, le git
permite almacenar en caché sus credenciales durante un tiempo finito. Es personalizable git config
y esta página lo explica muy bien:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
En una terminal, ejecute:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
Para personalizar el tiempo de espera de caché, puede hacer lo siguiente:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Sus credenciales se almacenarán en la memoria durante el tiempo solicitado.
Tenga en cuenta que la forma en que el asistente de credenciales git "almacena" almacenará las contraseñas no cifradas cambia con Git 2.5+ (Q2 2014).
Ver commit 17c7f4d por Junio C Hamano ( gitster
)
credential-xdg
Ajuste el "
store
" backend de muestra del asistente de credenciales para respetar las ubicaciones del archivo de configuración XDG cuando se especifique.
El documento ahora dice:
Si no se especifica:
- se buscarán credenciales desde
~/.git-credentials
y$XDG_CONFIG_HOME/git/credentials
, y- las credenciales se escribirán
~/.git-credentials
si existe o$XDG_CONFIG_HOME/git/credentials
si existe y la primera no.
Debajo de cmd funcionará si no tenemos una contraseña @:
git pull https://username:pass@word@mygithost.com/my/repository
si tiene una contraseña @, reemplácela por% 40 como se muestra a continuación:
git pull https://username:pass%40word@mygithost.com/my/repository