Me gustaría saber si lo siguiente es posible en git:
Supongamos que tengo el siguiente historial:
A---B---C---D---E master \ W---X---Y topic
Me gustaría fusionar todos los cambios realizados en la twig de tema de nuevo a maestro, pero sin conservar el historial de confirmación. Es decir, en lugar de:
A---B---C---D---E---F master \ / W---X---Y topic
Me gustaría tener la siguiente historia:
A---B---C---D---E---F master
Donde F
es una nueva confirmación en la twig maestra que es equivalente a los cambios realizados en las confirmaciones W
, X
, Y
, aplicadas todas a la vez.
También me gustaría poder mantener intacta la twig del tema:
A---B---C---D---E---F master \ W---X---Y topic
es posible? He estado haciendo algunas testings con git rebase, pero hasta ahora no se ha comportado de la manera que necesito.
Gracias por adelantado.
Debería ser más simple que lo que sugiere el zeppelin malo, pero no lo he intentado:
$ git checkout master $ git merge --squash topic $ git commit *what has changed*
Sin embargo, cuando entiendo que la git help merge
bien, debería funcionar.
Cree una copy de la twig de tema, networkingistráigala interactivamente a la twig principal ( git rebase -i E
) eliminando las confirmaciones en la twig de tema en una y finalmente borre la copy de la twig de tema que creó. Después de estos debe ser capaz de get lo que quería.
Crear una nueva twig fuera del tema (esto es un regalo)
git rebase master –interactive
(squash the commits en uno)
Luego, en Master, Cherrypick el commit en la twig de usar y tirar.
Obtendrá exactamente el historial que desea en el maestro, y la twig del tema estará intacta.
Puede haber forms más simples de hacer lo mismo …