Cuando tengo una solución para un cambio que se cometió antes, siempre termino ejecutando rebase dos veces seguidas. ¿Es posible hacer este flujo de trabajo todo en un solo paso? Digamos que tengo 4 nuevos commits.¿Puedo volver a establecer la base y aplastar las confirmaciones al mismo tiempo?
* (master) D
* C
* B
* A
* Base
Encuentro un error en B así que creo una rama y la arreglo.
* (master) D
* C
| * (fix) Fix.
|/
* B
* A
* Base
siguiente que ejecuta git rebase --onto fix B D
para mover C y D a B.
* (master) D'
* C'
* (fix) Fix.
* B
* A
* Base
Finalmente corro git rebase --i fix^^
para ver los últimos compromete y me aplaste B y fijar en una única confirmación.
* (master) D'
* C'
* B'
* A
* Base
¿Existe alguna manera más rápida de lograr el mismo flujo de trabajo? Imagino que la fusión sería más fácil, pero la fusión se me escapó porque estoy usando git svn, que requiere un historial lineal.
tal vez las opciones 'fixup' y' autosquash' podrían ayudar aquí? http://stackoverflow.com/questions/2302736/trimming-git-checkins-squashing-git-history/2302947#2302947 – VonC
@VonC Gracias, al menos, estos pasos serán un poco más rápidos. –
excelente (para empezar). Podría publicar una respuesta que ilustre cómo los pasos son más rápidos con esas opciones. – VonC