Suponiendo que soy el mantenedor de un repositorio, y quiero obtener cambios de un contribuyente, hay algunos flujos de trabajo posibles:
cherry-pick
Cada uno me comprometo desde el control remoto (en orden). En este caso, git registra la confirmación como no relacionada con la rama remota.- En
merge
la rama, agrego todos los cambios y agrego un nuevo compromiso de "conflicto" (si es necesario). - I
merge
cada confirmación de la rama remoto individualmente (de nuevo en orden), permitiendo que los conflictos que se registran para cada confirmación, en lugar de agrupar todos juntos como una sola. - Para completar, podría hacer una
rebase
(¿igual que lacherry-pick
opción?), Sin embargo, entiendo que esto puede causar confusión para el contribuyente. Quizás eso elimina la opción 1.
En ambos casos 2 y 3, git registra el historial de ramificaciones de las confirmaciones, a diferencia de 1.
¿Cuáles son las ventajas y desventajas entre el uso de uno cherry-pick
o los merge
métodos descritos? Tengo entendido que el método 2 es la norma, pero creo que resolver una gran confirmación con una sola fusión de "conflicto" no es la solución más limpia.