En este tema, aprenderás cómo crear y cambiar entre ramas en Git. Las ramas son una característica fundamental de Git que te permite trabajar en diferentes versiones de tu proyecto de manera simultánea. Esto es especialmente útil para desarrollar nuevas características, corregir errores o experimentar sin afectar la rama principal del proyecto.
¿Qué es una Rama?
Una rama en Git es simplemente un puntero móvil a una de las confirmaciones (commits). La rama principal en la mayoría de los repositorios se llama main
o master
. Cuando creas una nueva rama, Git crea un nuevo puntero que puedes mover independientemente del puntero main
.
Creando una Nueva Rama
Para crear una nueva rama, utilizamos el comando git branch
seguido del nombre de la nueva rama. Aquí hay un ejemplo:
Este comando crea una nueva rama llamada nueva-rama
, pero no cambia a esa rama automáticamente. Para cambiar a la nueva rama, utilizamos el comando git checkout
.
Cambiando a una Rama
Para cambiar a una rama existente, utilizamos el comando git checkout
seguido del nombre de la rama. Aquí hay un ejemplo:
Ahora, cualquier cambio que hagas se registrará en la rama nueva-rama
.
Combinando Creación y Cambio de Rama
Git también proporciona un comando que combina la creación de una nueva rama y el cambio a esa rama en un solo paso. Este comando es git checkout -b
:
Este comando crea una nueva rama llamada nueva-rama
y cambia a esa rama inmediatamente.
Visualizando Ramas
Para ver todas las ramas en tu repositorio, puedes usar el comando git branch
sin argumentos:
Este comando lista todas las ramas y marca la rama actual con un asterisco (*
).
Ejemplo Práctico
Vamos a ver un ejemplo práctico de cómo crear y cambiar ramas en Git.
-
Crear un nuevo repositorio:
git init mi-proyecto cd mi-proyecto
-
Crear un archivo y hacer una confirmación inicial:
echo "Hola Mundo" > archivo.txt git add archivo.txt git commit -m "Confirmación inicial"
-
Crear y cambiar a una nueva rama:
git checkout -b nueva-caracteristica
-
Hacer cambios en la nueva rama:
echo "Nueva característica" >> archivo.txt git add archivo.txt git commit -m "Añadir nueva característica"
-
Cambiar de vuelta a la rama principal:
git checkout main
-
Verificar el contenido del archivo en la rama principal:
cat archivo.txt
Deberías ver solo "Hola Mundo" porque los cambios en
nueva-caracteristica
no están enmain
.
Ejercicio Práctico
Ejercicio 1: Creación y Cambio de Ramas
-
Crea un nuevo repositorio de Git.
-
Haz una confirmación inicial con un archivo llamado
index.html
que contenga<h1>Hola Mundo</h1>
. -
Crea una nueva rama llamada
estilos
. -
Cambia a la rama
estilos
y añade un archivostyles.css
con el siguiente contenido:body { background-color: lightblue; }
-
Haz una confirmación en la rama
estilos
. -
Cambia de vuelta a la rama
main
y verifica que el archivostyles.css
no está presente.
Solución
-
Crear un nuevo repositorio:
git init mi-sitio-web cd mi-sitio-web
-
Hacer una confirmación inicial:
echo "<h1>Hola Mundo</h1>" > index.html git add index.html git commit -m "Confirmación inicial"
-
Crear y cambiar a una nueva rama:
git checkout -b estilos
-
Añadir
styles.css
y hacer una confirmación:echo "body { background-color: lightblue; }" > styles.css git add styles.css git commit -m "Añadir estilos CSS"
-
Cambiar de vuelta a la rama
main
:git checkout main
-
Verificar que
styles.css
no está presente:ls
Deberías ver solo
index.html
.
Conclusión
En esta sección, aprendiste cómo crear y cambiar entre ramas en Git. Las ramas te permiten trabajar en diferentes versiones de tu proyecto de manera simultánea, lo que es esencial para el desarrollo colaborativo y la gestión de características. En el próximo tema, aprenderás cómo fusionar ramas para integrar cambios de diferentes ramas en una sola.
Dominando Git: De Principiante a Avanzado
Módulo 1: Introducción a Git
Módulo 2: Operaciones Básicas de Git
- Creando un Repositorio
- Clonando un Repositorio
- Flujo de Trabajo Básico de Git
- Preparando y Confirmando Cambios
- Visualizando el Historial de Confirmaciones
Módulo 3: Ramas y Fusión
- Entendiendo las Ramas
- Creando y Cambiando Ramas
- Fusionando Ramas
- Resolviendo Conflictos de Fusión
- Gestión de Ramas
Módulo 4: Trabajando con Repositorios Remotos
- Entendiendo los Repositorios Remotos
- Añadiendo un Repositorio Remoto
- Obteniendo y Extrayendo Cambios
- Empujando Cambios
- Rastreando Ramas
Módulo 5: Operaciones Avanzadas de Git
- Rebasing
- Cherry-Picking de Confirmaciones
- Guardando Cambios
- Etiquetando Confirmaciones
- Revirtiendo Confirmaciones
Módulo 6: Herramientas y Técnicas de Git
Módulo 7: Estrategias de Colaboración y Flujo de Trabajo
- Forking y Pull Requests
- Revisiones de Código con Git
- Flujo de Trabajo Git Flow
- GitHub Flow
- Integración Continua con Git
Módulo 8: Mejores Prácticas y Consejos de Git
- Escribiendo Buenos Mensajes de Confirmación
- Manteniendo un Historial Limpio
- Ignorando Archivos con .gitignore
- Mejores Prácticas de Seguridad
- Consejos de Rendimiento
Módulo 9: Solución de Problemas y Depuración
- Problemas Comunes de Git
- Deshaciendo Cambios
- Recuperando Confirmaciones Perdidas
- Tratando con Repositorios Corruptos
- Técnicas Avanzadas de Depuración