tipos tener tag qué proyecto podemos para nuestros mayor herramienta hacer existen etiquetas crear control git git-bash

tener - Nombre de usuario y contraseña en comando para git push



¿qué herramienta podemos hacer para tener un mayor control de nuestros proyecto en github? (5)

Es posible clonar un repositorio git, especificando nombre de usuario y contraseña en el comando. Ejemplo:

git clone https://username:[email protected]/file.git

¿Es posible especificar también el nombre de usuario y la contraseña al presionar? De modo que, por ejemplo, ejecutando git push origin --all , todos saldrán pidiendo una contraseña. Quiero esto en un comando.

(Soy consciente de la capacidad de configurar claves y otras soluciones, pero quiero saber si hay una manera de seguir usando el nombre de usuario y la contraseña con un solo comando). Estoy ejecutando Git Bash en Windows 8.1.


De acuerdo con la documentación de Git , el último argumento del comando git push puede ser el repositorio al que desea enviar:

git push [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>] [--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream] [<repository> [<refspec>…]]

Y el parámetro del repository puede ser una URL o un nombre remoto.

Por lo tanto, puede especificar el nombre de usuario y la contraseña de la misma manera que lo hace en su ejemplo de comando clone .


Es posible, pero antes de git 2.9.3 (agosto de 2016), un git push imprimiría la url completa utilizada al regresar al repositorio clonado.
¡Eso incluiría su nombre de usuario y contraseña!

Pero no más: vea commit 68f3c07 (20 de julio de 2016) y commit 882d49c (14 de julio de 2016) por Jeff King ( peff ) .
(Fusionada por Junio ​​C Hamano - gitster - en commit 71076e1 , 08 ago 2016)

push : anonimizar URL en salida de estado

Commit 47abd85 (fetch: elimina los nombres de usuario de las URL antes de almacenarlos, 17/04/2009, Git 1.6.4) enseña fetch para anonimizar las URL.
El propósito principal era evitar pegar contraseñas en los mensajes de confirmación de fusión, pero como efecto secundario, también evitamos imprimirlos en stderr.

El lado de inserción no tiene el problema de combinación de confirmación, pero probablemente debería evitar imprimirlos en stderr . Podemos reutilizar la misma función de anonimato.

Tenga en cuenta que para que esto suceda, las credenciales deberían aparecer en la línea de comando o en un archivo de configuración de git, ninguno de los cuales es particularmente seguro.
Por lo tanto, las personas deberían cambiar a usar ayudantes de credenciales, lo que hace que este problema desaparezca.

Pero eso no es excusa para no mejorar la situación de las personas que, por cualquier motivo, terminan usando credenciales incrustadas en la URL.


Git no almacenará la contraseña cuando use URL como esa. En cambio, solo almacenará el nombre de usuario, por lo que solo necesita solicitarle la contraseña la próxima vez. Como se explica en el manual , para almacenar la contraseña, debe usar un auxiliar de credenciales externo. Para Windows, puede usar Windows Credential Store para Git . Este ayudante también se incluye de forma predeterminada en GitHub para Windows .

Al usarlo, su contraseña se recordará automáticamente, por lo que solo necesita ingresarla una vez. Por lo tanto, cuando clone, se le pedirá su contraseña, y luego cada comunicación adicional con el control remoto no le pedirá su contraseña nuevamente. En cambio, el asistente de credenciales proporcionará a Git la autenticación.

Por supuesto, esto solo funciona para la autenticación a través de https; para el acceso ssh ( [email protected]/repository.git ) usa las claves SSH y las que puede recordar usando ssh-agent (o el concurso de PuTTY si está usando plink).


Si puedes hacer

git push https://username:[email protected]/file.git --all

en este caso https://username:[email protected]/file.git reemplaza el origin en git push origin --all

Para ver más opciones para git push , prueba git help push