HOWTO · Git

Confirmar cambios en una rama de Git

En este tutorial, veremos cómo puede guardar commits en una rama nueva o existente en Git.

Este tutorial verá cómo guardar commits en una rama nueva o existente en Git.

El artículo cubre cómo mover commits a:

  1. Una nueva rama
  2. Una rama existente

A menudo se encontrará realizando los mismos cambios por etapas en diferentes ramas. Git le permite hacer esto convenientemente, como se muestra a continuación.

Mover commits a una nueva rama en Git

Esta sección verá cómo mover las commits en su rama de espacio de trabajo a una nueva rama.

Cree una nueva rama que contendrá todas sus commits. Usa el comando git branch para inicializar una nueva rama.

git branch <new-branch>

El comando anterior creará una rama, una new-branch.

Use el comando git reset para restablecer las commits a la última actualización.

git reset --keep HEAD~N

Usamos la opción --keep para hacer una copia de seguridad de los cambios no confirmados.

Mover commits a una rama sincronizada existente en Git

Para entender mejor esta característica, utilizaremos un ejemplo práctico. Hicimos compromisos con la <wrong branch> en lugar de la <right branch>.

Suponiendo que los dos estén sincronizados, ¿cómo trae las commits a la <right branch>?

Navega a la rama existente con el comando git checkout.

git checkout <right branch>

Mueva las commits con el comando git merge.

git merge <wrong branch>

Para eliminar las commits erróneas, acceda a la <wrong branch>.

git checkout <wrong branch>

Usa el comando git reset para revertir las commits.

git reset --keep HEAD~N

Mover commits a una rama existente en Git

Usemos un ejemplo práctico para entender esto mejor. ¿Cómo lo haría si desea mover un commit específica sin fusionar las ramas?

Moveremos un commit de la <wrong branch> a la <right branch> en el siguiente ejemplo.

Cambie a la <right branch>.

git checkout <right branch>

Use el comando git cherry-pick y el hash del commit para moverlo, como se muestra a continuación.

git cherry-pick <sha1-commit-hash>

Regrese a la <wrong branch> y use el comando git reset para eliminar el commit.