RAMAS DE GIT

El concepto de ramas en un repositorio de Git se basa en la idea de colaboración.

RAMA MAIN vs. MASTER

En Git, las ramas main y master representan la misma función básica de ser la rama predeterminada de un repositorio, pero existen algunas diferencias principalmente relacionadas con la convención de nombres y la evolución en la comunidad de Git. Aquí están las diferencias principales:

1. Convención de nombres

  • master: Fue la rama predeterminada en Git desde sus inicios y durante muchos años fue el nombre que se configuraba automáticamente para la primera rama cuando se inicializaba un repositorio.
  • main: En 2020, en un esfuerzo de inclusividad y modernización de términos, Git y otras plataformas (como GitHub) comenzaron a usar main como la rama predeterminada. Desde entonces, GitHub y otras plataformas han hecho la transición a main para sus repositorios recién creados.

2. Impacto en la configuración

  • Si el repositorio fue creado antes de este cambio, es probable que aún use master como rama principal. Sin embargo, para cualquier repositorio creado después de la transición (especialmente en GitHub a partir de octubre de 2020), la rama predeterminada será main.
  • Puedes cambiar el nombre de la rama principal en un repositorio existente usando el comando git branch -m y ajustar la configuración del repositorio en la plataforma de alojamiento.

3. Práctica actual en la comunidad

  • La comunidad de desarrollo de software y plataformas como GitHub han adoptado main como el nuevo estándar para la rama principal en la mayoría de los proyectos recientes.
  • Este cambio no afecta la funcionalidad del sistema de control de versiones en sí; es puramente un cambio de nombre que refleja una preferencia hacia un término más inclusivo y universal.

4. Ejemplo de cambio de nombre

Si tienes un repositorio que usa master y deseas cambiarlo a main, puedes hacerlo con los siguientes comandos:

# Cambia el nombre de la rama `master` a `main` localmente
git branch -m master main

# Actualiza la rama predeterminada en el repositorio remoto
git push -u origin main

# Borra la referencia a la rama antigua en el remoto, si ya existía
git push origin --delete master

En resumen, tanto main como master son simplemente nombres, pero main es ahora la convención moderna y recomendada para nuevas configuraciones.