Git: Técnicas avanzadas

Mejora tu flujo de trabajo en Git con técnicas avanzadas. Aprende a manejar ramas, rebase, cherry-pick y más, siguiendo las mejores prácticas de 2024.

Git es una herramienta esencial para el control de versiones en el desarrollo de software. En este módulo, exploraremos técnicas avanzadas que te permitirán optimizar tu flujo de trabajo y gestionar repositorios de manera más eficiente.

Manejo avanzado de ramas

El manejo de ramas es fundamental en Git. A continuación, se presentan algunas técnicas avanzadas:

Creación de ramas a partir de un commit específico

Para crear una nueva rama a partir de un commit específico, utiliza el siguiente comando:

git checkout -b <nombre-rama> <commit-hash>

Este comando crea y cambia a una nueva rama a partir del commit indicado.

Limpieza de ramas remotas

Para eliminar ramas remotas que ya no se utilizan, ejecuta:

git fetch -p

Este comando limpia las ramas remotas que no tienen un equivalente local.

Uso avanzado de rebase

El rebase es una técnica poderosa para mantener un historial de commits limpio y lineal. Aquí se explican algunas de sus aplicaciones avanzadas.

Rebase interactivo

Para reordenar, combinar o eliminar commits, usa rebase interactivo:

git rebase -i HEAD~n

Reemplaza n con el número de commits que deseas revisar. En el editor que se abre, puedes modificar la lista de commits según tus necesidades.

Rebase de una rama sobre otra

Para aplicar los commits de una rama sobre otra, ejecuta:

git checkout <rama-destino>
git rebase <rama-origen>

Esto mueve los commits de rama-origen y los aplica sobre rama-destino.

Uso de cherry-pick

El comando cherry-pick permite aplicar cambios específicos de un commit en otra rama. Esto es útil para integrar soluciones puntuales sin necesidad de un merge completo.

git cherry-pick <commit-hash>

Este comando aplica los cambios del commit especificado en la rama actual.

Resolución avanzada de conflictos

La resolución de conflictos es una parte inevitable del uso de Git. Aquí se presentan algunas técnicas avanzadas para manejarlos:

Herramientas de fusión

Git permite configurar herramientas de fusión externas para resolver conflictos. Para configurar una herramienta como Kdiff3, usa:

git config --global merge.tool kdiff3
git config --global mergetool.kdiff3.path "/ruta/a/kdiff3"

Continuar rebase después de resolver conflictos

Después de resolver conflictos durante un rebase, utiliza:

git add <archivos-resueltos>
git rebase --continue

Este comando continúa el proceso de rebase después de que los conflictos han sido resueltos.

Stash avanzado

El comando git stash permite guardar cambios temporales. A continuación, se presentan algunas técnicas avanzadas de uso:

Guardar cambios no rastreados

Para incluir archivos no rastreados en el stash, usa:

git stash -u

Aplicar y eliminar stash

Para aplicar y eliminar un stash en una sola operación, ejecuta:

git stash pop
Certifícate en Git con CertiDevs PLUS

Lecciones de este módulo de Git

Lecciones de programación del módulo Técnicas avanzadas del curso de Git.

Ejercicios de programación en este módulo de Git

Evalúa tus conocimientos en Técnicas avanzadas con ejercicios de programación Técnicas avanzadas de tipo Test, Puzzle, Código y Proyecto con VSCode.