Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Cómo usar Git
  6. Cómo usar la ramificación en Git
  7. Rebase de una rama
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Rebase de una rama

Otro método para integrar la rama "issue3" en la rama principal es el comando git rebase. Usando rebase, podemos limpiar nuestro árbol de historia, como se dijo anteriormente en esta guía.

Empecemos por deshacer la fusión anterior.

$ git reset --hard HEAD~

Así es como se ve ahora nuestra historia:

History before rebase

A continuación, cambie a la rama issue3 y rebase a la rama principal.

$ git checkout issue3
Switched to branch 'issue3'
$ git rebase main
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
error: could not apply 470d684... My Commit
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 470d684... My Commit

Cuando el conflicto se produce durante el rebase, debe resolverlo para reanudar la operación.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3

Una vez resuelto el conflicto, puede reanudar el rebase con la opción --continue.

Antes de aplicar sus cambios, Git abrirá su editor de texto por defecto (Vim o Emacs en la mayoría de los sistemas Unix) para darle la oportunidad de editar el mensaje de rebase. Si desea salir y deshacer la operación de rebase, puede hacerlo con la opción --abort.

$ git add myfile.txt
$ git rebase --continue
Applying: append description of the pull command

Ahora nuestra historia se parece a esto:

Current history

Con la rama issue3 reubicada en main, ahora podemos realizar una fusión rápida.

Cambia a la rama principal y fusiona issue3 con main.

$ git checkout main
Switched to branch 'main'
$ git merge issue3
Updating 8f7aa27..96a0ff0
Fast-forward
myfile.txt |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

El contenido del archivo myfile.txt será ahora idéntico al de la fusión anterior. Y el historial tendrá ahora el siguiente aspecto:

Current history

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life