ver tag sobrescritos siguientes serán repositorio modificados los locales fusionar error crear cambios archivos git merge rebase git-rebase

git - tag - ¿Cómo relaciona los cambios de la sucursal actual con los cambios que se fusionaron?



git push tag (3)

Bueno. Si estoy en una rama (por ejemplo, working ), y deseo fusionarme en los cambios desde otra rama (por ejemplo, master ), ejecuto el comando git-merge master mientras estoy en la rama de working , y los cambios se fusionan sin rebase la historia en absoluto. Si ejecuto git-rebase master , los cambios en el master se vuelven a configurar para colocarlos en la parte superior de mi rama de working . Pero, ¿qué sucede si deseo fusionarme en los cambios de la versión master pero reestablecer mis cambios en el working para estar en la cima? ¿Cómo puedo hacer eso? Se puede hacer?

Podría ejecutar git-rebase working en mi rama master para poner mis cambios en la rama master , pero me gustaría poder hacerlo en mi rama de working , y no tengo idea de cómo. Lo más cercano que se me ocurre hacer es crear una nueva rama de master y luego volver a working los cambios de trabajo además de eso, pero luego tendría una nueva rama en lugar de modificar la rama de working .


Acabo de hacer esto hace momentos de la siguiente manera:

  1. haga una copia de seguridad de su trabajo actual en progreso git checkout -b work-in-progress
  2. buscar los últimos cambios git fetch origin/master
  3. descartar cualquier cambio local. git reset --hard origin/master
  4. reproducir los últimos cambios desde el git rebase origin/master de master git rebase origin/master
  5. repite tu trabajo en progreso git rebase origin/work-in-progress
  6. sincroniza tu trabajo en progreso con el último master git rebase origin/master

Otra forma de verlo es considerar git rebase master como:

Rebase la rama actual encima del master

Aquí, '' master '' es la rama ascendente , y eso explica por qué, durante una rebase, la ours y la de theirs se invierten .


Tienes lo que la rebase hace al revés. git rebase master hace lo que estás pidiendo: toma los cambios en la rama actual (ya que diverge de la maestra) y los reproduce en la parte superior de master , luego establece que la cabeza de la rama actual sea la cabeza de esa nueva historia. No reproduce los cambios desde el master en la parte superior de la rama actual.