Actualmente estoy trabajando en una featurexsucursal. Nuestra rama maestra se llama rama our-team. Desde que comencé a trabajar featurex, se han realizado más cambios en la rama our-team. Antes de presionar featurexpara la fusión, me gustaría obtener todos los cambios de la our-teamrama a nivel local para featurexpoder asegurarme de que todo funcione como se espera.
He hecho esto localmente para obtener los últimos cambios de our-team.
git checkout our-team
git pull
¿Cómo puedo hacer eso?

Respuestas:
Puede usar rebase , por ejemplo,
git rebase our-teamcuando está en su ramafeaturexMoverá el punto de inicio de la rama al final de su
our-teamrama, fusionando todos los cambios en sufeaturexrama.fuente
git checkout our-team git pull git checkout featurex git merge our-teamour-teamlocal, deberá ejecutar en sugit fetch && git rebase origin/our-teamlugar. Sus comandos asumen que el repositorio se ha actualizado antes.ir a la rama maestra
our-teamextraer todos los nuevos cambios de la
our-teamramave a tu sucursal
featurexfeaturexfusionar los cambios de
our-teamrama enfeaturexramaour-team{commit-hash}si desea fusionar confirmaciones específicasempuja tus cambios con los cambios de
our-teamramaNota : probablemente tendrá que solucionar los conflictos después de fusionar una
our-teamrama en otrafeaturexantes de presionarfuente
o
pero primero debe asegurarse de que ya está en la rama a la que desea actualizar (featurex).
fuente
Ya casi has llegado :)
Todo lo que queda es
Esto fusionará nuestro-equipo en featurex.
Lo anterior asume que ya ha comprometido / escondido sus cambios en featurex, si ese no es el caso, deberá hacer esto primero.
fuente
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-teamy luego aplicará las confirmaciones realizadasfeaturex, 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 deour-team, lo que le pedirá que haga una, grande, fusionar y corregir todos los errores de fusión antes de presionarour-team. La diferencia es que está aplicando susfeaturexconfirmaciones antes de lasour-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.
fuente