git fusionarse con --no-ff y --squash
Estoy usando la forma git flow de administrar sucursales en mi repositorio, como se describe en:http://nvie.com/posts/a-successful-git-branching-model/
Por lo tanto, la secuencia de comandos que debería usar sería la siguiente:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff mybranch
Sin embargo, hay una cosa que me gustaría hacer de manera diferente, en algunos casos:
Me gustaría conservar todos mis confirmaciones en mi rama de función (mybranch
), pero téngalos agrupados (o aplastados) en una sola diferencia cuando se fusionen condevelop
.
Así que esto es lo que creo que la secuencia de comandos debería ser:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff --squash mybranch
¿Estaría haciendo las cosas mal si me combinara?--no-ff
con--squash
?
No me atrevo a probar esto debido a que "aplastar" y "preservar la historia" son requisitos ortogonales - verAplastar todos mis compromisos (incluidas las fusiones) en un solo compromiso sin alterar el historial
Mi razonamiento es que quiero preservar la historia en una rama (mybranch
) y suqash en otra rama (develop
) -> porque estas acciones se realizan en ramas separadas, esto está bien.