Pero elegir esta opción parece no tener ningún efecto.
Sí, porque los cambios actuales son los de las ramas actuales, que es dev
.
Volver dev
a basarse en la parte superior dev
significa una no operación .
git checkout dev
git rebase master
Eso significa: la rama actual es dev
: para volver a basarse en la parte superior de master
.
Entonces, en SourceTree, debe hacer clic derecho en master
(mientras dev
está desprotegido) y seleccionar:
Rebase current changes onto master
Howe agrega en los comentarios :
El nombre actual de " rebase current changes onto [branch]
" es engañoso. Consulte esta discusión sobre mejorasSRCTREE-1578
.
Después de encontrarme desconcertado al intentar actualizar una rama de características con el desarrollo y fallar, me di cuenta de que el elemento del menú contextual del panel izquierdo etiquetado como " rebase current changes onto $somebranch
" en realidad hace lo contrario de lo que sugiere su nombre:
vuelve a clasificar la rama actual al estado de $ somebranch;
En otras palabras, vuelve a basarse $somebranch
en (o en) la rama actual, no al revés. (¿Derecho?)
La preposición “ onto
” en el texto actual es engañosa; implica que el objeto de la oración ( $somebranch
en mi ejemplo) recibirá los cambios.
De hecho, ocurrirá lo contrario.
La ausencia del nombre de la sucursal actual aumenta la confusión.
Una nueva redacción que mejore la estructura de la oración e incluya el nombre de la rama afectada proporcionaría una gran ventaja para la claridad.
Por ejemplo:
rebase $currentbranch to head of $somebranch
rebase $somebranch onto $currentbranch