Cómo cambiar el nombre de una sucursal en Git

Publicado: 2022-12-26

Logotipo de Git sobre un fondo azul.

Para cambiar el nombre de la sucursal local actual, use "git branch -m new-name". Para cambiar el nombre de una rama local desde dentro de otra, usa "git branch -m old-name new-name". Para cambiar el nombre de una rama remota, elimínela con "git push origin --delete old-name", luego presione la rama local renombrada con "git push origin -u new-name".

La ramificación es un ejercicio trivial en Git. Desafortunadamente, las tareas triviales rara vez reciben la debida atención y ocurren errores. Si le has puesto un nombre incorrecto a una rama, tendrás que cambiarle el nombre. Así es como se hace.

Tabla de contenido

Por qué los nombres de las sucursales son importantes en Git
Enumerar ramas en Git antes de cambiarles el nombre
Cómo cambiar el nombre de una sucursal local en Git
Cómo cambiar el nombre de una sucursal remota en Git
Cambiar el nombre de las sucursales es simple

Por qué los nombres de las sucursales son importantes en Git

Cualquier cosa que tuviera que ver con las ramas en los sistemas clásicos de control de versiones (VCS) era un gran problema. Requería un entendimiento coordinado de que se estaba agregando o fusionando una sucursal, y todas las personas que usaban ese repositorio tenían que asegurarse de no hacer nada, u olvidarse de hacer algo, para que la operación continuara y tuviera éxito.

Las operaciones que involucraban sucursales a menudo también eran muy lentas. Hubo una penalización de tiempo en el tope usando ramas. Git fue diseñado desde el principio para ser diferente. Debido a que es un sistema de control de versiones distribuido, cada usuario tiene una copia del repositorio completo en su máquina local.

Git rebase: Todo lo que necesitas saber
RELACIONADO Git rebase: todo lo que necesita saber

La bifurcación en su máquina local no afecta a nadie más a menos que envíe la bifurcación a un repositorio remoto. Y en Git, las operaciones de sucursal están diseñadas para ser tan fáciles de usar como rápidas de completar. La ramificación en Git es muy barata en términos computacionales. Es una acción trivial dentro del repositorio local.

De hecho, se alienta a los desarrolladores a ramificarse, y ramificarse a menudo. Las sucursales son solo otra herramienta dentro de su VCS de la que se beneficia. Las ramas no son grandes cosas aterradoras en Git, son una de sus características más utilizadas.

Pero la familiaridad puede conducir al desprecio. O, al menos, a una consideración casual por las ramas. La ramificación puede ser rápida y simple en Git, pero aún debe concentrarse cuando crea una rama. Es fácil escribir mal el nombre de una rama o escribir el nombre incorrecto, lo que da como resultado una rama con un nombre incorrecto.

Si la rama se enviará al repositorio remoto en algún momento, debe escribirse correctamente. Si no es así, causará confusión cuando otros intenten usarlo.

RELACIONADO: ¿Cómo funcionan las ramas de Git?

Enumerar ramas en Git antes de cambiarles el nombre

Verificar cuáles son los nombres de las sucursales actuales es un buen primer paso. El comando git branch enumera las ramas para nosotros. Puedes ver las ramas en el repositorio local con este comando:

 rama git 

Listado de sucursales locales usando el comando git branch

Las sucursales están listadas para nosotros. La rama actual está resaltada en verde y con un asterisco.

Para ver las ramas y sus confirmaciones, puede usar el comando show-branch .

 Mostrar rama de Git 

Listado de ramas y sus confirmaciones con el comando git show-branch

Puede ver las ramas en el repositorio remoto al incluir la opción -r (remoto).

 git rama -r 

Listado de sucursales remotas con el comando git branch -r

Para ver sucursales locales y remotas con un solo comando, use la opción -a (todas).

 rama git -a 

Listado de sucursales locales y remotas con el comando git branch -a

Tenemos más sucursales locales que sucursales remotas. La rama "feature16" aún no se ha enviado al repositorio remoto. Eso es solo un aspecto de la operación normal, no un problema.

Nuestro problema es que la rama "feature19" debería haberse llamado "feature18". Así que ese es el error que vamos a corregir.

RELACIONADO: Cómo actualizar y mantener ramas separadas de Git

Cómo cambiar el nombre de una sucursal local en Git

Hay dos formas de cambiar el nombre de una sucursal localmente. Puede pagar la sucursal y cambiarle el nombre, o puede cambiar el nombre de la sucursal mientras trabaja en otra sucursal.

Para cambiar el nombre de la rama actual , asegúrese de haber verificado y esté usando la rama que desea cambiar de nombre. Luego use el comando git branch con la opción -m (mover).

 función de pago de git19
 rama git -m característica18 

Revisando la rama "feature19" y renombrándola

Verificamos la rama "feature19" y la renombramos a "feature18". Veamos cómo se ven nuestras sucursales ahora.

 rama git 

Listado de sucursales para verificar que la sucursal "feature19" se haya renombrado como "feature18"

Nuestra sucursal ahora tiene el nombre correcto en el repositorio local.

Si lo desea, puede cambiar el nombre de una sucursal cuando esté trabajando en otra sucursal. Aquí hay un ejemplo en el que estamos trabajando en la rama "maestra".

 rama git 

Listado de sucursales para verificar que estamos en la sucursal maestra

El comando que usamos es el mismo comando que antes, pero debemos proporcionar el nombre actual de la rama que estamos renombrando, así como el nuevo nombre que queremos que tenga.

 rama git -m característica19 característica18
 rama git 

Cambiar el nombre de una rama desde dentro de otra rama

Nuevamente, la sucursal en nuestro repositorio local ha sido renombrada con el nombre correcto.

RELACIONADO: Cómo crear una nueva rama en GitHub

Cómo cambiar el nombre de una sucursal remota en Git

El repositorio remoto aún contiene la rama con el nombre anterior. Para cambiar el nombre de una rama remota, eliminamos la rama anterior y empujamos la nueva rama.

Si otros usuarios usan esta rama y le envían confirmaciones, debe hacer una extracción antes de cambiarle el nombre localmente. Esto garantiza que su repositorio local esté actualizado y que los cambios realizados por otros usuarios no se perderán. Regresar sus cambios a su repositorio antes de cambiar el nombre de la rama localmente significa que esos cambios estarán en la nueva rama cuando la vuelva a enviar al repositorio remoto.

Echemos un vistazo al estado de nuestras sucursales. Usaremos la opción -a (todas) para ver las sucursales locales y remotas.

 rama git -a 

Listado de sucursales locales y remotas con el comando git branch -a

Necesitamos eliminar "feature19" del repositorio remoto y enviar "feature18" al control remoto.

 git push origen --eliminar función19 

Eliminar una rama remota usando la opción git the --delete

Se le pedirá la contraseña para el repositorio remoto. Una vez que se haya realizado la eliminación, verá un mensaje de confirmación.

Ahora enviaremos nuestra nueva rama al control remoto y usaremos la opción -u (establecer upstream)

 git push origen -u característica18 

Empujando una rama al repositorio remoto

Nuevamente, se le pedirá su contraseña para el control remoto. La nueva rama se envía al control remoto y se nos dice que la rama "feature18" está configurada para realizar un seguimiento de los cambios en nuestra copia local de la rama.

Comprobemos una vez más en qué estado se encuentran nuestras sucursales locales y remotas.

 rama git -a 

Listado de sucursales locales y remotas con el comando git branch -a

Nuestra sucursal ha sido renombrada con éxito tanto local como remotamente, y la sucursal remota está rastreando los cambios en nuestra sucursal local.

RELACIONADO: Cómo eliminar sucursales de Git en repositorios locales y remotos

Cambiar el nombre de las sucursales es simple

Con Git, cambiar el nombre de las ramas es simple. Si es la única persona que usa un repositorio o una rama que necesita renombrarse, es muy simple.

Si otros comparten la rama, asegúrese de comunicarles que va a cambiar el nombre de la rama y que deben impulsar cualquier trabajo no comprometido. Cuando hayan presionado, puede extraer la rama y luego cambiar el nombre de su rama de forma local y remota.

RELACIONADO: Cómo usar git con múltiples repositorios remotos