La ramificación es una característica central en Git. Es la forma en que puede trabajar en una característica particular o componente de software sin romper su código.
Es la oportunidad para usted como desarrollador de hacer cambios significativos en su código fuente y elegir lo que quiere hacer con los cambios. De cualquier forma, puede fusionarlos o descartarlos de todo su proyecto.
Si ha interactuado con Git, puede que ya se haya dado cuenta de que existen múltiples formas de crear ramas. Si es un futuro desarrollador y aún no se ha topado con Git, saber cómo utilizar las herramientas de control de versiones le ahorrará mucho tiempo; si no, hará que su experiencia como desarrollador sea interesante.
Este post está orientado tácticamente para ayudarle a crear ramas Git sin problemas como parte de su flujo de trabajo definido. Al final, habrá adquirido habilidades sólidas que podrá utilizar para mantener sus repositorios de GitHub.
Nota: Si es un nuevo desarrollador, consulte cómo configurar su cuenta de GitHub antes de seguir adelante. Si ya lo ha hecho, pase a la sección de cómo hacerlo. Sin embargo, un repaso sería genial para solidificar su aprendizaje.
¿Qué son las ramas de Git?

Una rama en Git implica una versión de su repositorio que es divergente de su proyecto principal (disponible en todos los sistemas modernos de control de versiones). En pocas palabras, usted se aparta de su línea principal de desarrollo y trabaja sin alterar la línea original.
Muchas herramientas de software de control de versiones (VCS) disponibles utilizan esta técnica, que consiste en crear una nueva copia de su directorio de código fuente. Cuando se trata de proyectos más grandes, replicar el código fuente puede llevar algún tiempo. Por el lado bueno de las cosas, es su oportunidad de experimentar con cambios en su código.
El modelo de ramificación de Git se considera una"característica asesina" y sitúa a Git en un nivel propio entre otras herramientas de la comunidad VCS. El modelo de operación de Git es sencillo y hace que las operaciones de ramificación sean casi instantáneas, y también que se puedan cambiar a través de un par de varias. Si domina el modelo de ramificación de Git, desbloqueará potentes características y herramientas que podrían impulsar sus habilidades de desarrollo. Entonces, ¿qué pasa con las ramas?
Por qué necesita ramas Git
Las ramas Git juegan un papel clave en el sistema de control de versiones Git. He aquí algunas razones por las que necesita ramas Git:
✅ Desarrollo paralelo - El software moderno es complejo, y a menudo muchos desarrolladores trabajan juntos para construir el software. Las ramas permiten a diferentes desarrolladores trabajar en diferentes características. En otros casos, puede tratarse de corregir errores sin colisiones de trabajo. Cada rama es una puerta de entrada a una nueva línea de desarrollo. Puede cambiar fácilmente de rama mientras trabaja en características concretas.
✅ Colaboración - Las ramas Git le permiten trabajar con otros desarrolladores en una base de código común. Puede crear nuevas ramas, realizar cambios en el código y empujarlos al repositorio compartido, donde otros desarrolladores pueden revisar sus contribuciones antes de fusionarlas en la rama principal.
✅ Experimentación - Puede utilizar las ramas git para probar nuevas características antes de fusionarlas y sin afectar a la rama principal. Es su oportunidad de probar un nuevo enfoque para resolver un problema. Y si los nuevos métodos de su código funcionan correctamente, puede fusionarlos en la rama principal.
✅ Gestión de versiones - Puede utilizar las ramas para gestionar las versiones. Puede crear cada rama vinculada a una versión específica de su proyecto de trabajo. Esto le permite corregir errores y realizar cambios sin afectar a la rama de desarrollo principal.
✅ Versionado - Puede utilizar ramas Git para el versionado; en este caso, cada rama representará una nueva versión de su software. Como desarrollador, lo mejor es utilizar ramas para cada versión del software y realizar un seguimiento de los cambios, que utilizará para gestionar las distintas versiones de la base de código.
Primeros pasos con Git - Un repaso
Ahora que entiende el"por qué", es hora de dar un nuevo giro y atender al"cómo”
Avanzando, ya debería haber configurado su cuenta de GitHub. Si aún necesita hacerlo, hágalo. Esta sección es práctica.
El comandogit checkout
en Git implica cambiar entre diferentes versiones de su entidad de destino. En algunas comunidades de desarrolladores en línea, el término "checkout" se refiere a la ejecución del comando checkout. Este comando opera sobre tres entidades: ramas, archivos y commits.
Comprobación de una rama
Puede utilizar el comando git branch
para crear ramas por las que navegará utilizando git
checkout. Cuando hace checkout de una rama, actualiza los archivos en su directorio de trabajo para que coincidan con la versión almacenada allí.
En otras palabras, le está diciendo a Git que registre todos sus commits en la rama (cambiando la línea de desarrollo). El uso de ramas dedicadas para las nuevas características en su desarrollo es un cambio del antiguo flujo de trabajo de subversión (SVN) y facilita el trabajo con el código en todas las instancias destacadas en la sección Por qué necesita ramas.
El comando git checkout
no debe confundirse con git clone
. El primero se utiliza para cambiar entre versiones de código, mientras que el segundo obtiene código de un repositorio remoto.
Uso de ramas existentes
Si el repositorio en el que está trabajando tiene ramas existentes, puede visualizarlas en su interfaz de línea de comandos utilizando el comando git branch
.
Se listan las ramas disponibles, y la verde es en la que está trabajando actualmente, suponiendo que esté utilizando el sistema operativo Windows y Código de Visual Studio. Para pasar de una rama a otra, utilice git checkout branchname
. La frase 'branchname' significa el nombre de su rama, y en sus operaciones, puede seguir cualquier convención de nomenclatura.
Creación de ramas Git
Suponga que se encuentra en medio del desarrollo de su software y desea añadir una nueva característica. La mejor manera de enfocar esto es crear una nueva rama utilizando el'git branch‘.
Prácticamente, esto es lo que se teclea en la línea de comandos
git branch branchname
Esto significa que ha creado una rama fuera de la rama principal/master
(en la mayoría de los casos, aquí es donde ejecuta su proyecto en vivo). El nombre de su nueva rama, en este caso, es‘nombre de la sucursal
Para cambiar a su nueva rama, utilice git
checkout ; véase más abajo:
git checkout branchname
Si usted es un desarrollador, al que le gusta ahorrar tiempo como a mí, puede crear una rama y cambiar inmediatamente a ella utilizando‘git checkout' con un argumento'-b' seguido del nombre de su rama. Prácticamente, podría haber hecho esto para obtener resultados similares a los de nuestros pasos anteriores, véase
git checkout -b nombre_rama
El parámetro‘-b' le dice a Git que ejecute la rama git
justo antes de comprobarla. Veamos otras técnicas que puede utilizar para crear ramas git.
Vamos a explorar más técnicas que puede utilizar para crear ramas en función de sus necesidades:
#1. Creando una rama desde su rama actual
Si desea crear una nueva rama basada en su rama actual, el mejor método es utilizar nuestras habilidades recién adquiridas:
git checkout -b <branchname>
Este método crea y le cambia automáticamente a la nueva rama. Para confirmar que se encuentra en la nueva rama, su terminal debería mostrar el mensaje - switched to a new branch .
Si es usted un nuevo desarrollador, debería estar atento a teclear los comandos en su consola sin el corchete (). Son vitales para la ilustración y las explicaciones y no deben confundirse ni utilizarse de forma incorrecta.
#2. Creación de una rama a partir de otra rama
Puede crear una nueva rama a partir de otra rama existente añadiendo el nombre de esa rama como punto de partida. Aquí está el comando:
git branch <nueva rama> <rama base>
Y en un caso práctico, sería
git branch nueva-rama nombre-rama
Esto implica que es nuestra nueva rama y es nuestra rama base (de cimentación).
#3. Creación de una rama a partir de un commit
Si desea basar su nueva rama a partir de un commit (y no de una rama), necesita proporcionar el hash del commit como punto de partida. Y para encontrar el hash del commit, a partir del cual está creando la rama, ejecute git log
.
El commit hash es típicamente una larga cadena de caracteres que comienza con 'commit'. Con el commit hash, puede crearla ejecutando el comando
git branch <nombre de la rama> <commit-hash>
A continuación, puede cambiar a su nueva rama comprobándola.
#4. Creación de una rama a partir de una etiqueta
Para crear una rama a partir de una etiqueta específica, busque el nombre de la etiqueta a partir de la cual desea crear una rama. Ejecute el comando git tag
para listar todas las etiquetas disponibles en su repositorio.
Una vez que haya identificado el nombre de la etiqueta, ejecute git branch <nueva rama> <nombre de la etiqueta>
, después de lo cual puede cambiar a su nueva rama y empezar a hacer cambios en el código.
#5. Creación de una rama utilizando el estado HEAD separado
Puede utilizar un estado HEAD separado para crear nuevas ramas que comiencen a partir de un compromiso específico sin cambiar a esa rama inmediatamente. Esta técnica es útil cuando desea experimentar con sus nuevos cambios sin afectar a la rama en la que está trabajando. Comience por encontrar el hash del commit que desea para crear la rama- utilice git log
.
Con el commit hash, ejecute: git checkout <commit hash>.
Este comando implica que usted está en un estado HEAD separado, lo que significa que no está actualmente en una rama sino apuntando a un commit específico. A continuación, puede utilizar git branch <nombre de la rama>
para crear una rama basada en su compromiso actual.
#6. Crear una rama desde una rama remota
Comience por crear una rama local. Por ahora, usted debe ser bueno en el uso de: git checkout -b <branchname>.
La rama remota se crea automáticamente cuando usted empuja la creada localmente al repositorio remoto.
Usted empuja una rama a remoto por: git push origin <branch name>
En este comando,'origen' representa el repositorio remoto al que está empujando cambios y creando ramas. Puede sustituirlo por el nombre de su repositorio remoto; funciona perfectamente.
#7. Creación de una rama en un repositorio remoto
Para crear una rama en un repositorio remoto, obtenga los últimos cambios de su repositorio remoto ejecutando el comando git fetch
. Después de obtener las últimas actualizaciones, puede crear una nueva rama haciendo check out. Y después de check out, puede empujar los nuevos cambios por:
git push -u <repo remoto> <nombre de la nueva rama>
En sus operaciones, lo mejor sería utilizar el origen (como en la forma de crear una rama a partir de una rama remota). Le ahorrará tiempo y reducirá las posibilidades de error al teclear los nombres de sus repos remotos.
Interfaz en línea de GitHub
Todas las tareas realizadas en la línea de comandos se pueden replicar utilizando la interfaz de GitHub Online. Para crear una nueva rama, diríjase a la página del repositorio de su proyecto y busque las ramas en el borde superior izquierdo - a menudo master/main.
Si hace clic en ella, se mostrará una lista de sus ramas disponibles a continuación, un campo de texto que puede utilizar para encontrar o crear una rama.

Para crear una rama, escriba su nombre en el campo de texto. La interfaz en línea está automatizada y le permite crear ramas a partir de elementos específicos como etiquetas, ramas y commits. Y si es nuevo en la creación de ramas, consulte la documentación sobre ramas de GitHub podría ahorrarle problemas en futuras tareas de desarrollador.
Palabras finales
Habiendo aprendido varias técnicas para crear ramas Git, ahora puede incorporar sus habilidades recién adquiridas en su desarrollo de software con un flujo de trabajo Git sin problemas.
La mejor opción de creación de ramas dependerá en gran medida de su equipo: criterios de flujo de trabajo e instancias de eventos. Por ejemplo, si solicita la aportación de un colaborador, éste puede crear ramas de forma remota y aportar contribuciones inestimables.
Ya ha visto cómo la creación de ramas en Git le proporciona un potente mecanismo para trabajar de forma más eficaz y eficiente en proyectos de software. Y aunque hay otras opciones de control de Git, este post le ha mostrado cómo navegar a su manera con las ramas de Git en la línea de comandos, y hago que se sienta más seguro usando Git.
Habiendo solidificado su arte en la creación de ramas, usted estaría más entusiasmado de revisar nuestra guía sobre la eliminación de ramas de GitHub.