Una de las características más fuertes de Git son sus ramas ligeras. Le permiten trabajar en etapas paralelas de desarrollo de manera eficiente. Un desarrollador podría incluso crear ramas individuales para errores separados. Tanto en tiempo como en espacio, las sucursales son casi gratuitas.

Muchos flujos de trabajo de git se ocupan de ramas temporales y de largo plazo. Por lo tanto, a menudo es necesario eliminar ramas durante el desarrollo. Ocasionalmente existe la necesidad de eliminar ramas compartidas, desde un servidor remoto, así como ramas locales.

¿Por qué eliminar una rama?

Primero, si todavía estás familiarizarse con git, es muy probable que cree una sucursal y luego decida que no es necesario. O puede que esté experimentando con ramas y quiera limpiar después de usted mismo. Esto está bien, ya que la ramificación en git es una operación ligera. Es muy rápido y utiliza el espacio en disco de manera eficiente.

Cómo utilizar las ramas de Git para estructurar su proyecto de programación
instagram viewer

En este artículo veremos qué significa ramificar su código, cómo hacerlo y formas de administrar las actualizaciones de la rama "principal" de git.

Como resultado, muchos flujos de trabajo de desarrollo de git fomentan la ramificación, incluso para tareas muy pequeñas o cortas. Por ejemplo, una estrategia común es crear una rama para una sola corrección de errores. Esto es cierto incluso si se trata de un solo autor que realiza un cambio de una línea en un solo archivo.

Por estas razones, la creación y eliminación de ramas son operaciones que deben comprenderse bien. Es posible que a menudo elimine ramas durante un flujo de trabajo de desarrollo típico.

Un repositorio de muestra con sucursales

Los siguientes ejemplos hacen referencia a un repositorio de muestra con la siguiente estructura:

$ git branch -vv
1 dev 1ae41e8 [origin / dev] primera confirmación
2 * main 1ae41e8 [origin / main] primera confirmación

Tenga en cuenta que cada rama local tiene una rama ascendente correspondiente desde el control remoto: origen.

Eliminar una rama mediante la línea de comandos

La sintaxis de comando básica para eliminar una rama es:

rama git (-d | -D) [-r] ...

La forma más simple del comando elimina una rama local, siempre que todos sus cambios se hayan fusionado:

$ git branch -d dev

No puede eliminar la rama que está actualmente activa; si intenta hacerlo, recibirá un mensaje como este:

error: No se puede eliminar la rama 'principal' registrada en '/ tmp / sandbox'

Cuando todo vaya bien, verá un mensaje de confirmación:

Desarrollo de rama eliminado (era 1ae41e8).

Si elimina una rama que solo existe localmente, con cambios no fusionados, perderá esos cambios. Por lo tanto, git se negará a eliminar una rama en tal situación, de forma predeterminada:

error: la rama "dev" no está completamente fusionada.
Si está seguro de que desea eliminarlo, ejecute 'git branch -D dev'.

Como informa el mensaje de error, puede forzar la eliminación con el -D bandera. Sin embargo, git le permitirá eliminar una rama local no fusionada si existe de forma remota:

advertencia: eliminando la rama "dev" que se ha fusionado con
'refs / remotes / origin / dev', pero aún no se ha fusionado con HEAD.
Desarrollo de rama eliminado (era 9a6d20b).

Eliminar una rama remota es bastante diferente. Usarás el git push comando junto con el -D bandera para eliminar. Después de eso, proporcione el nombre del control remoto (a menudo origen) y el nombre de la sucursal:

$ git push -d origin dev
Para github.com: bobbykjack / sandbox.git
- [eliminado] dev

Eliminar ramas locales y remotas con GitHub Desktop

A diferencia del programa git de la línea de comandos, Aplicación de escritorio de GitHub solo le permitirá eliminar la rama activa. Puede realizar esta acción a través del Rama menú, seleccionando el Borrar opción y confirmándola:

GitHub Desktop no le permitirá eliminar la rama predeterminada, p. Ej. main, aunque el propio git lo admite. Si la rama predeterminada es la que está actualmente activa, la aplicación deshabilita la acción del menú.

Si la rama también representa una rama remota, GitHub Desktop ofrece la opción de eliminarla también del control remoto:

Eliminando ramas usando GitKraken

GitKraken muestra las ramas locales y remotas de su repositorio en la barra lateral izquierda. Debes eliminar cada por separado.

Coloque el cursor sobre el nombre de la rama correspondiente y haga clic Rama menú de acciones que se parece a tres puntos verticales. En el menú, seleccione Borrar :

Verá un mensaje de confirmación que le informa que se trata de una operación destructiva. Puede confirmar que desea continuar con el Borrar botón:

Reflejando el comportamiento predeterminado del programa de línea de comandos git, primero debes cambiar a una rama distinta a la que estás eliminando. De lo contrario, verá un mensaje de error:

Eliminación de sucursales locales y remotas mediante Tower

Eliminar una rama con Torre es muy similar a eliminar una rama con GitKraken. Las ramas locales y remotas se muestran en un panel en el lado izquierdo. Haga clic con el botón derecho en cualquier rama y seleccione la opción Eliminar en el menú contextual:

Una diferencia clave es que una sucursal remota se puede eliminar junto con su sucursal local, durante la confirmación:

Eliminar una rama en GitHub

GitHub solo actúa como una fuente remota, por lo que las ramas allí son remotas de forma predeterminada. Si elimina una rama usando el sitio web de GitHub, tendrá que eliminar la rama local correspondiente usando uno de los otros métodos aquí.

Al igual que con la aplicación de escritorio GitHub, el sitio web de GitHub no le permitirá eliminar la rama predeterminada. La opción simplemente no aparece. Sin embargo, eliminar una rama es sencillo. Del repositorio Código página, haga clic en el sucursales enlace, busque la rama que desee eliminar y haga clic en el Eliminar esta rama icono, que parece una papelera:

Tenga en cuenta que no hay comprobaciones de cambios no fusionados, por lo que en GitHub, la rama simplemente se eliminará de inmediato. Sin embargo, dado que siempre representará una rama remota, este debería ser el comportamiento esperado.

Tenga en cuenta que, después de eliminar, verá un botón para Restaurar la rama. Sin embargo, esta es simplemente una función útil para deshacer, en caso de que haga clic accidentalmente en el icono de eliminar. No confíe en él, porque tan pronto como actualice o navegue fuera de la página, perderá la opción.

Eliminar ramas locales y remotas en Bitbucket

Bitbucket, como GitHub, no le permitirá eliminar la rama predeterminada. Bitbucket llama a esto el Rama principal en Configuración del repositorio. Puede eliminar cualquier otra rama de la lista Sucursales pestaña, a través de su correspondiente Comportamiento menú:

También puede eliminar más de una rama a la vez si está realizando una gran operación de limpieza:

Eliminar ramas es parte de un flujo de trabajo típico de Git

Las ramas de Git pueden complicar su flujo de trabajo, especialmente uno con ramas locales, remotas y de seguimiento. Pero para el desarrollo simple del día a día, es probable que esté creando y eliminando sucursales locales todo el tiempo. Este es un aspecto central de un flujo de trabajo típico de git al que debería acostumbrarse.

Correo electrónico
Cómo utilizar las ramas de Git para estructurar su proyecto de programación

En este artículo veremos qué significa ramificar su código, cómo hacerlo y formas de administrar las actualizaciones de la rama "principal" de git.

Temas relacionados
  • Programación
  • GitHub
Sobre el Autor
Bobby Jack (23 Artículos publicados)

Bobby es un entusiasta de la tecnología que trabajó como desarrollador de software durante la mayor parte de dos décadas. Le apasionan los juegos, trabaja como editor de reseñas en Switch Player Magazine y está inmerso en todos los aspectos de la publicación en línea y el desarrollo web.

Más de Bobby Jack

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Un paso más…!

Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.

.