salir modificar mensaje example editar commits all git merge squash

modificar - Diferencias entre la combinación de Git--squash y--no-commit



modificar commits git (1)

Como dice el título, no estoy realmente claro acerca de las diferencias entre una git merge --squash y una git merge --no-commit .

Por lo que entiendo de la página de ayuda para git merge , ambos comandos me dejarán en un árbol de trabajo actualizado, donde todavía es posible editar y luego hacer un compromiso final (o varios compromisos).

¿Podría alguien aclarar las diferencias de esas 2 opciones? ¿Cuándo usaría uno en lugar del otro?


git merge --no-commit

Esto es como una combinación normal pero no crea una confirmación de fusión. Esta confirmación será una confirmación de fusión: cuando mire el historial, su confirmación aparecerá como una combinación normal.

git merge --squash

Esto fusionará los cambios en su árbol de trabajo sin crear un compromiso de fusión. Cuando confirme los cambios combinados, se verá como un nuevo compromiso "normal" en su rama: sin un compromiso de combinación en el historial. Es casi como si hubieras elegido a todos los cambios combinados.