Ramas y HEAD
Hasta ahora trabajamos en una sola línea de historial. Pero ¿qué pasa si quieres probar una idea nueva sin tocar el código que funciona? Ahí es donde entran las ramas. El gran secreto: una rama no es una copia pesada del proyecto, es solo una etiqueta liviana que apunta a un commit determinado, así
Una rama es como una etiqueta autoadhesiva que deslizas a lo largo de la cadena de fotos de tu proyecto: solo marca una foto determinada. HEAD es la flecha que dice sobre qué etiqueta estás parado ahora mismo.
- Rama
- Una etiqueta liviana y móvil que apunta a un commit. Crear una rama es solo hacer un archivo diminuto que guarda el hash del commit, así que es instantáneo y casi no ocupa espacio.
- HEAD
- Un puntero especial que dice 'estás aquí': en qué rama (y a través de ella, en qué commit) estás parado ahora mismo.
- git switch
- Muévete entre ramas. git switch -c <nombre> crea una rama nueva y te mueve a ella. (El comando más antiguo y equivalente es git checkout -b.)
- main
- El nombre habitual de la rama principal en los repositorios nuevos (antes master). Es una rama común y corriente: no tiene ninguna magia especial para Git.
- git branch
- Sin ningún argumento: enumera las ramas, con un asterisco (*) junto a la activa. Con un nombre: crea una rama nueva sin moverte a ella.