Si desarrollas cualquier tipo de software o aplicación web, utilizar Git es algo casi esencial en tu flujo de trabajo.

El sistema de control de versiones distribuido es casi la única forma de coordinar tus esfuerzos de programación entre tu equipo. Para ello, Git cuenta con un sencillo conjunto de comandos que puedes aprender rápidamente, pero que no siempre resultan intuitivos.

Esto es especialmente cierto en situaciones como realizar una git rename en una rama.

El trabajo en equipo requiere comunicación, y los nombres de tus ramas — dado que son públicos — deben ser muy descriptivos y claros. Esto puede contradecir la necesidad común de trabajar rápido. Por lo tanto, la convención de nomenclatura rápida que das a una rama para empezar a trabajar en el código podría tener que modificarse para adaptarse mejor a tu proyecto.

En este post, te mostraremos cómo realizar una git rename en una rama. Antes, sin embargo, vamos a hablar de lo que es una rama en Git y de algunas de las situaciones en las que deberías renombrar una.

¿Qué Es una Rama Git (y Por Qué Renombrar Una)?

El control de versiones de Git funciona con ramas. Tendrás un repositorio principal, que contendrá todas las ramas del proyecto, incluyendo la principal (más sobre esto más adelante).

Parte de la ventaja de utilizar Git es que puedes duplicar la rama principal, trabajar en el código y luego fusionar esos cambios más adelante, una vez que hayas finalizado todo.

Incluso Kinsta tiene la capacidad de utilizar Git para acceder a tu sitio utilizando Secure Shell (SSH). Es más, puedes conectarte a tu repositorio de GitHub y desplegar tu aplicación en sólo unos clics a través del panel de MyKinsta.

Una pantalla de GitHub mostrando el mensaje "Kinsta por Kinsta desea permiso para: Verificar tu identidad en GitHub; Saber a qué recursos puedes acceder; Actuar en tu nombre" con un botón verde "Autorizar a Kinsta" en la parte inferior.
Autorizar Kinsta en GitHub.

Sin embargo, nombrar la rama es un paso que muchos desarrolladores se precipitan a dar. Hay multitud de razones por las que puedes querer cambiar el nombre de una rama en Git:

  • Claridad: Deberás asegurarte de que la rama ofrece total claridad sobre los cambios de código que engloba y lo que hacen. Esto será importante durante las fusiones o incluso al eliminar ramas. No hay vuelta atrás si eliminas la rama equivocada u olvidas su nombre.
  • Coherencia: Puede que tu rama no siga las convenciones de nomenclatura que ha establecido tu equipo. Esto significa que tendrás que revisar los nombres de las ramas más adelante.
  • Estándares modernos: Si el proyecto es heredado, o se trata de una preocupación a largo plazo dentro de tu equipo, puede que las ramas no se ajusten a las convenciones de sensibilidad cultural actuales. Por ejemplo, hay un movimiento popular para cambiar la rama principal de «master» a «main» o «trunk» para evitar referencias a la institución de la esclavitud.

Por estas razones (y otras), a menudo tendrás que realizar un git rename en una rama.

A continuación, te explicaremos cómo hacerlo.

Cómo Renombrar una Rama Git

Cuando se trata de ejecutar un git rename en una rama, tendrás que tener en cuenta tanto los repositorios locales como los remotos (por ejemplo, GitHub). La buena noticia es que el proceso que vamos a esbozar cubrirá todas las permutaciones que necesitarás para tener éxito.

En primer lugar, vamos a ver cómo localizar y cambiar el nombre de una rama. Esto incluirá ver las banderas de comando que te ayudarán. Después, veremos cómo asegurarnos de que tu repositorio remoto coincide con el local.

1. Utiliza los Comandos git checkout y git branch

Tu primera tarea es localizar la rama que quieres renombrar. Puedes utilizar el siguiente comando:

git checkout current-name

Cuando utilicemos current-name, deberás añadir el nombre de tu rama. Si no conoces el nombre, o quieres ver la lista completa de ramas (tal vez para comprobar las convenciones en todo el proyecto), puedes utilizar git branch --list o git branch -a.

Una ventana parcial de Terminal sobre un fondo degradado de macOS, mostrando una lista de comandos Git para un repositorio. El usuario ha entrado en la carpeta local del sitio y ha listado las ramas del repositorio.
Navegar a, y listar, las ramas dentro de un repositorio Git.

Una vez que estés en la rama correcta, puedes renombrarla utilizando lo siguiente:

git branch -m new-name

De nuevo, deberás asegurarte de que utilizas un nombre de rama específico, en lugar de nuestro marcador de posición. La bandera -m significa «mover» y es el elemento del comando que provoca el cambio de nombre.

Una ventana parcial de Terminal sobre un fondo degradado de macOS. El usuario navega a la carpeta local del sitio, enumera las ramas del repositorio, se dirige a una rama y cambia su nombre con un comando.
Renombrar una rama dentro de un repositorio Git.

Si el nuevo nombre de rama que seleccionas ya existe, puedes forzar el cambio que especifiques utilizando -M en su lugar. Esta es también la táctica que utilizarás en máquinas Windows si el nombre de tu rama contiene una mezcla de mayúsculas y minúsculas.

Una vez confirmado el cambio, utiliza git status para comprobar si el nuevo nombre se aplica a tu rama:

Una pantalla parcial de Terminal sobre un fondo de macOS. El usuario está navegando a una carpeta local del sitio, entrando en una rama específica, cambiando su nombre, y luego comprobando que el cambio se ha aplicado utilizando comandos Git.
Comprobar que se ha producido un renombramiento de Git utilizando git status.

Sin embargo, no es necesario que utilices git checkout en absoluto si no quieres hacerlo. Veámoslo rápidamente con más detalle.

1(a). Renombrar una Rama Git Sin Usar git checkout

Este método sólo funcionará si estás en la rama principal de tu repositorio. Si no, siempre tendrás que utilizar un git checkout; para llegar a tu rama principal.

En cualquier caso, puedes ver tu ubicación actual en el repositorio utilizando git status. El comando para cambiar el nombre de la rama es similar al último método, pero esta vez combinarás los nombres de la rama actual y de la nueva:

git branch -m current-name new-name

Después de ejecutar el comando, puedes comprobar la lista de ramas como confirmación.

2. Enviar la Rama Renombrada al Repositorio Remoto

Aunque este método funciona para un repositorio local, hay algo más que debes hacer cuando se trata de repositorios remotos. La mayoría de las veces tendrás que manejar repos remotos dentro de tu proyecto, y este paso es uno que no deberías olvidar.

Si te saltas esta parte del proceso, la nueva rama seguirá haciendo referencia a su antiguo nombre de rama » upstream». El truco está en eliminar la rama antigua del repositorio remoto, y luego enviar la nueva rama upstream.

El primer paso es renombrar la rama local, pero a partir de ahí puedes ejecutar un par de comandos sucesivamente.

En primer lugar, elimina la rama antigua:

git push origin --delete old-branch

…y luego envía la nueva:

git push origin -u new-branch

Como alternativa, puedes sobrescribir el nombre de la rama upstream utilizando lo siguiente:

git push origin: old-branch new-branch
git push origin -u new-branch

De nuevo, ejecuta git status para ver si la nueva rama apunta a su propia referencia, en lugar de a la antigua. Si la referencia apunta a la rama antigua, puedes utilizar git branch --unset-upstream para arreglarlo.

Resumen

Git es un método intuitivo y potente para aplicar el control de versiones distribuido al código de tu proyecto.

Una de sus ventajas más flexibles es la posibilidad de utilizarlo tanto para repositorios locales como remotos. Sin embargo, algunas tareas sencillas (como renombrar ramas) requieren más reflexión que otras.

En este artículo, hemos tratado cómo git rename una rama tanto para repositorios locales como remotos. Aunque el comando en sí es sencillo, tendrás que aplicar algunos comandos diferentes para asegurarte de que los repos locales y remotos coinciden. De lo contrario, cualquier fusión que realices puede tener errores o referencias incorrectas a repos antiguos o inexistentes.

Si necesitas una opción de alojamiento segura y fácil de usar para tu aplicación o base de datos basada en Git, no busques más: Las soluciones de Alojamiento de Aplicaciones y Alojamiento de Bases de Datos de Kinsta se crearon teniendo en cuenta todos los tipos y tamaños de proyectos, incluidas las aplicaciones de stack completo, y se pueden implementar a través de GitHub en cuestión de minutos.

Tu proyecto alcanzará nuevos niveles de velocidad con máquinas C2 en la Red de Nivel Premium de Google, y nuestra integración con Cloudflare te protegerá de casi cualquier problema de seguridad concebible. Además, puedes tener tantas construcciones y usuarios simultáneos como quieras.

Echa un vistazo a los planes de Alojamiento de Aplicaciones de Kinsta para encontrar uno que se adapte a ti y a tu proyecto, o pruébalo gratis. Si tienes alguna pregunta, los expertos desarrolladores de Kinsta estarán ahí para ayudarte 24 horas al día, 7 días a la semana.