Rebase la rama de característica en otra rama de característica


Tengo dos ramas de características (privadas) en las que estoy trabajando.

a -- b -- c                  <-- Master
     \     \
      \     d -- e           <-- Branch1
       \
        f -- g               <-- Branch2

Después de trabajar en estas ramas un poco he descubierto que necesito los cambios de Branch2 en Branch1. Me gustaría rebase los cambios en Branch2 en Branch1. Me gustaría terminar con lo siguiente:

a -- b -- c                  <-- Master
           \
            d -- e -- f -- g <-- Branch1

Estoy bastante seguro de que necesito rebase la segunda rama en la primera, pero no estoy completamente seguro sobre la sintaxis correcta y qué rama debería haber comprobado.

Will ¿este comando produce el resultado deseado?

(Branch1)$ git rebase --onto Branch1 Branch2
Author: Nir O., 2013-02-15

2 answers

Cambiar a la rama Branch2

git checkout Branch2

Luego haga una rebase con branch1

git rebase Branch1

Lo que te dejaría con el resultado deseado en Rama2 como este

a -- b -- c                  <-- Master
           \
            d -- e -- f -- g <-- Branch2

Puede eliminar Rama1

 247
Author: sasikt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-15 11:26:42

Nota: si estabas en Branch1, con Git 2.0 (Q2 2014) podrás escribir:

git checkout Branch2
git rebase -

Ver commit 4f40740por Brian Gesiak modocache:

rebase: permitir" - " mano corta para la rama anterior

Enseña a rebase la misma abreviatura que checkout y merge para nombrar la rama a rebase la rama actual en; es decir, que "-" significa "la rama en la que estábamos anteriormente".

 45
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-03 07:16:42