2012-06-22 9 views
6

¿Es posible tener git pull y git push en un comando git?git pull y git push de una vez

La sintaxis como git pull & git push no me satisface por completo, ya que necesito proporcionar mis credenciales al servidor dos veces: al tirar y al pulsar.

Entonces, me pregunto, ¿hay alguna solución para esto? Creo que debería ser así, ya que es un caso bastante común cuando el desarrollador obtiene origen remoto antes de impulsar cambios locales.

EDITAR: Estoy usando Windows 7/x64, msysgit-utf8 1.7.9

+1

Puede ser peligroso si hay conflictos de fusión no? –

+1

¿Qué es el protocolo? hay formas de proporcionar credenciales solo una vez por sesión – CharlesB

+3

No lo haga. Configure la autenticación de clave pública o cambie el protocolo para que pueda. – wadesworld

Respuesta

4

En primer lugar, puede configurar el archivo _netrc que será utilizado por Git, aquí la cuestión conexa: Git - How to use .netrc file on windows to save user and password a continuación, puede configurar un alias para el comando:

git config alias.publish '!git pull && git push'` 

y el tipo simplemente: git publish

+0

Puedo agregar el inicio de sesión a la URL del repositorio con el símbolo @ como separador Y puedo agregar mi contraseña a '.git/config'. Pero no quiero almacenar mis contraseñas. Me gusta que me pregunten con la contraseña. ¡Pero solo una vez! – shytikov

+0

Creo que esta solución '.netrc' no funcionará con la conexión ssh ... – shytikov

+0

No necesita agregar un nombre de usuario y contraseña a .git/config. Es una manera incorrecta. Si usa la conexión ssh, entonces no es mejor usar claves públicas para eso. Para la conexión https por credenciales puede usar el archivo _netrc en Windows, preste atención al subrayado en el nombre del archivo en lugar de al punto. – lisachenko

0

recomiendo hacer algo sólo rápido y sucio en este caso. Puede que no sea la forma más eficiente de hacerlo, pero solo crearía un script bash en vim con los comandos y lo ejecutaría considerando cuán simples son los comandos. Luego puedes abrir ese archivo cada vez que quieras tirar y empujar al mismo tiempo.

Todo lo que tiene que hacer es crear el archivo, poner las dos líneas de comandos que desea escribir y escribir ese nombre de archivo en la línea de comando siempre que quiera ejecutarlos.

Una vez más, no es la forma más eficiente, pero es una solución rápida.

+0

No soluciona la situación con doble autenticación ... Y ese es el problema. No me molesta escribir 'git pull & git push'. No quiero escribir mi contraseña dos veces, ya que creo que debería ser una optimización para esto. Pero aún no lo he encontrado ... – shytikov

0

es mejor utilizar SSH, pero si no se puede utilizar SSH, siempre se puede utilizar el almacén de credenciales de Windows para guardar su contraseña de manera que no es necesario para llenarlo en dos veces:

git config --global credential.helper wincred 

Fuente: Git documentation