Bueno. Si estoy en una rama (por ejemplo working
), y quiero fusionar los cambios de otra rama (por ejemplo master
), entonces ejecuto el comando git-merge master
mientras estoy en la working
rama, y los cambios se fusionan sin cambiar el historial. Si ejecuto git-rebase master
, los cambios master
se vuelven a colocar en la parte superior de mi working
rama. Pero, ¿qué pasa si quiero fusionarme en los cambios master
pero cambiar mis cambios working
para estar en la cima? ¿Cómo puedo hacer eso? Se puede hacer?
Podría ejecutar git-rebase working
mi master
rama para poner mis cambios en la parte superior de la master
rama, pero me gustaría poder hacerlo en mi working
rama, y no tengo idea de cómo. Lo más cercano que puedo pensar es crear una nueva rama master
y luego cambiar working
los cambios por encima de eso, pero luego tendría una nueva rama en lugar de alterarla working
.
fuente
git rebase working
se moveríamaster
's cambios (después de que el punto de queworking
se ramificó) para estar en la parte superior de laworking
rama - pero eso no es una cosa muy sensible a hacer amaster
:)Otra forma de verlo es considerarlo
git rebase master
como:Aquí, '
master
' es la rama ascendente , y eso explica por qué, durante un rebase,ours
ytheirs
se invierte .fuente
git difftool
horrible izquierda / derecha. Un poco fuera de tema, perodifftool
me quedo con git-meld y disfruto de nombres como 'working-dir', 'stash @ {0}', etc.git checkout branch_to_update git rebase master
ingrese en git log las confirmaciones de master en la parte superior de la rama local, en lugar de lo contrario?