Para otras personas que se encuentren con esta publicación en Google. Hay 2 opciones, fusionar o reajustar su rama. Ambos funcionan de manera diferente, pero tienen resultados similares.
La respuesta aceptada es una nueva base . Esto tomará todas las confirmaciones realizadas our-team y luego aplicará las confirmaciones realizadas featurex, lo que le pedirá que las combine según sea necesario.
Una pequeña advertencia del rebase es que pierde / reescribe el historial de su rama, esencialmente diciéndole a git que su rama no comenzó en la confirmación 123abc sino en la confirmación 456cde. Esto va a causar problemas para otras personas que trabajan en la rama, y algunas herramientas remotas se quejan de ello. Sin embargo, si estás seguro de lo que estás haciendo, para eso es la --forcebandera.
Lo que sugieren otros carteles es una fusión . Esto tomará la featurexrama, con cualquier estado que tenga e intentará fusionarla con el estado actual de our-team, lo que le pedirá que haga una, grande, fusionar y corregir todos los errores de fusión antes de presionar our-team. La diferencia es que está aplicando sus featurexconfirmaciones antes de las our-teamnuevas confirmaciones y luego arreglando las diferencias. Tampoco reescribe el historial, sino que le agregas un compromiso en lugar de reescribir los anteriores.
Ambas opciones son válidas y pueden funcionar en conjunto. Lo que generalmente se hace (con eso quiero decir, si está utilizando herramientas y metodología generalizadas como git-flow ) para una rama de función es fusionarla en la rama principal, a menudo pasando por una solicitud de fusión, y resolver todos los conflictos que surgen en una (o varias) combinaciones de confirmaciones.
Rebasing es una opción interesante, que puede ayudarlo a arreglar su rama antes de pasar por una fusión, y aliviar el dolor de tener que hacer una gran confirmación de fusión.