Git: cometer antes de fusionarse?

Me aconsejaron que confirmara todos mis cambios antes de ejecutar git pull y merge. Tiene sentido ? ¿Qué pasa si ejecuto pull y merge antes de confirmar mis cambios y confirmarlos después de la fusión?

No siempre es recomendable comprometerse antes de tirar; en su lugar, debería considerar esconder su trabajo.

Una mejor manera de pensar sobre esto es en términos de su área de preparación. Idealmente, le gustaría que esté limpio antes de intentar fusionarse en cambios remotos (recuerde, git pull = git fetch + git merge ).

git commit es una forma de lograr esto, pero alterará tu historial, contaminando así si estás preocupado por dejar tu repository en un estado de trabajo constante.

git stash , por otro lado, fue construido para casos de uso como este.

Use git stash cuando quiera registrar el estado actual del directory de trabajo y el índice, pero quiera volver a un directory de trabajo limpio.

fuente: http://git-scm.com/docs/git-stash

Tu flujo de trabajo se vería así:

 $ git stash $ git pull origin master $ git stash pop stash@{0} 

Esto permitirá que la extracción se ejecute sin problemas, le advertirá vocalmente cuando la aplicación de su alijo haya resultado en conflictos.

Los cambios no comprometidos son siempre malos:

  • O bien sus cambios son buenos, luego comprométalos
  • o son malos, luego descartarlos.

Los cambios no confirmados son completamente desconocidos para git. Por lo tanto, Git no puede ayudarte de ninguna manera si algo sale mal y te arriesgas a perder tu trabajo en caso de problemas.

Evita muchos problemas si simplemente se asegura de que no tenga ningún cambio no confirmado cada vez que realice una operación de git, como la extracción en su caso.

Si intenta fusionar cambios en files que tienen modificaciones, git simplemente se negará a hacerlo. Es por eso que comprometerse primero es una buena idea. Si no lo haces en ese order, se fusionará bien (si los files que cambiaste no estuvieron implicados en ningún otro commit que se esté fusionando), o no pasará nada, y git te dirá que tu fusión puede ' t hecho.

Si haces un commit antes de tirar, puedes volver a ese punto si algo sale mal con el pull / merge. No tienes que hacerlo, solo buenas prácticas.