Git Creando y revisando nuevas sucursales.


Ejemplo

Para crear una nueva rama, mientras permanece en la rama actual, use:

git branch <name>

En general, el nombre de la sucursal no debe contener espacios y está sujeto a otras especificaciones enumeradas aquí . Para cambiar a una rama existente:

git checkout <name>

Para crear una nueva rama y cambiar a ella:

git checkout -b <name>

Para crear una rama en un punto que no sea la última confirmación de la rama actual (también conocida como HEAD), use uno de estos comandos:

git branch <name> [<start-point>]
git checkout -b <name> [<start-point>]

El <start-point> puede ser cualquier revisión conocida por git (por ejemplo, otro nombre de rama, SHA de confirmación o una referencia simbólica como HEAD o un nombre de etiqueta):

git checkout -b <name> some_other_branch
git checkout -b <name> af295
git checkout -b <name> HEAD~5
git checkout -b <name> v1.0.5

Para crear una rama desde una rama remota (el <remote_name> predeterminado es origen):

git branch <name> <remote_name>/<branch_name>
git checkout -b <name> <remote_name>/<branch_name>

Si el nombre de una rama dada solo se encuentra en un control remoto, simplemente puede usar

git checkout -b <branch_name>

que es equivalente a

git checkout -b <branch_name> <remote_name>/<branch_name>

A veces es posible que deba mover varios de sus compromisos recientes a una nueva sucursal. Esto se puede lograr mediante la bifurcación y el "retroceso", así:

git branch <new_name>
git reset --hard HEAD~2 # Go back 2 commits, you will lose uncommitted work.
git checkout <new_name>

Aquí hay una explicación ilustrativa de esta técnica:

 Initial state       After git branch <new_name>    After git reset --hard HEAD~2
                             newBranch                        newBranch
                                 ↓                                ↓
A-B-C-D-E (HEAD)         A-B-C-D-E (HEAD)                 A-B-C-D-E (HEAD)
        ↑                        ↑                            ↑
      master                   master                       master