Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo eliminar ramas de Git locales / remotas

 Si ha trabajado anteriormente con Git para la creación de versiones de su código Angular, es muy probable que haya tenido alguna situación en la que deseaba eliminar una rama remota o varias ramas. Esto les sucede muchas veces a los desarrolladores, particularmente en proyectos grandes.

En este artículo, aprenderemos:

  • Cómo eliminar una rama local en su repositorio de Git,
  • Cómo eliminar una rama remota en Git,
  • Cómo eliminar todas las ramas de Git que se han fusionado,
  • Cómo eliminar todas las ramas locales que no estén en el control remoto,
  • Cómo eliminar todas sus ramas locales de Git excepto master.

Antes de abordar cómo eliminar una rama remota, primero veremos cómo eliminar una rama en el repositorio local de Git.

Nota: Los sistemas de control de versiones son una herramienta indispensable en el desarrollo web moderno que pueden ayudarlo a resolver muchos problemas relacionados con cada tarea. Git es uno de los sistemas de control de versiones más populares en la actualidad.

Antes de proceder a aprender cómo eliminar ramas locales y remotas en Git, definamos qué es una rama de Git y los efectos secundarios de eliminar ramas.

Una rama en Git es un puntero a una confirmación. Si elimina una rama, elimina el puntero a la confirmación. Esto significa que si elimina una rama que aún no está fusionada y las confirmaciones se vuelven inalcanzables por cualquier otra rama o etiqueta, la recolección de basura de Git eventualmente eliminará las confirmaciones inalcanzables.

Eliminar sucursales locales

Comencemos por aprender a eliminar una rama local.

  1. Primero, use el git branch -acomando para mostrar todas las ramas (tanto locales como remotas).
  2. A continuación, puede eliminar la rama local, utilizando el git branch -dcomando, seguido del nombre de la rama que desea eliminar.
$ git branch -a 

# *master # b1 # remote/origin/master # remote/origin/b1 
$ git branch -d b1 # Deleted branch b1.

Nota: También puede usar la -Dbandera que es equivalente al --delete --forcecomando en lugar de -dEsto le permitirá eliminar la rama local independientemente de su estado de fusión.

Eliminar ramas remotas

A diferencia de las sucursales locales, no puede eliminar una sucursal remota con el git branchcomando. Sin embargo, debe usar el git push --deletecomando, seguido del nombre de la rama que desea eliminar. También debe especificar el remotenombre ( originen este caso) después git push.

$ git branch -a

# *master
# b1
# remote/origin/master
# remote/origin/b1

$ git push origin --delete b1
# [...]
# - [deleted] b1

¿Cómo se pueden eliminar todas las ramas de Git no fusionadas?

Ahora que hemos visto cómo puede eliminar ramas locales y remotas en sus repositorios de Git, supongamos que tiene varias ramas de Git. ¿Cómo se pueden eliminar las ramas que ya se han fusionado? De una vez en lugar de eliminarlos rama por rama.

Nota : La fusión se realiza mediante el git mergecomando y simplemente significa integrar los cambios de otra rama.

Primero, necesita obtener todas las ramas que están fusionadas en el repositorio remoto usando el siguiente comando:

$ git branch --merged

Si tiene una rama fusionada, simplemente puede eliminar la rama local fusionada usando el siguiente comando:

$ git branch -d branch-name

Si desea eliminarlo del repositorio remoto, use el siguiente comando:

$ git push --delete origin branch-name

Eliminar todas las sucursales locales que no estén en el control remoto

Puede eliminar todas las ramas locales que no estén en el repositorio remoto, puede usar el siguiente comando bash:

$ git branch -r | egrep -v -f /dev/fd/0  <(git branch -vv | grep origin) | xargs git branch -d

Rompemos este comando:

  1. Primero obtenemos todas las ramas remotas usando el git branch -rcomando
  2. A continuación, obtenemos las ramas locales que no están en el control remoto usando el egrep -v -f /dev/fd/0 <(git branch -vv | grep origin)comando,
  3. Finalmente borramos las ramas usando el xargs git branch -dcomando.

grep es una utilidad de línea de comandos para buscar conjuntos de datos de texto sin formato para líneas que coincidan con una expresión regular. Su nombre proviene del comando ed g / re / p (buscar globalmente una expresión regular e imprimir líneas coincidentes), que tiene el mismo efecto. grep fue desarrollado originalmente para el sistema operativo Unix, pero luego disponible para todos los sistemas similares a Unix y algunos otros como OS-9.

xargs (abreviatura de "eXtended ARGuments") es un comando en Unix y la mayoría de los sistemas operativos similares a Unix que se utilizan para crear y ejecutar comandos desde la entrada estándar. Convierte la entrada de la entrada estándar en argumentos a un comando.

Elimine todas sus sucursales de Git locales excepto la maestra

Si ha terminado con las ramas locales de Git, suele ser una buena práctica eliminarlas para liberar su espacio. Simplemente puede ejecutar el siguiente comando:

$ git branch | grep -v "master" | xargs git branch -D 

Usamos el grep -v "master"comando para buscar ramas excepto el maestro y luego las borramos usando el git branch -Dcomando.

Conclusión

A lo largo de este artículo, hemos visto cómo puede eliminar ramas remotas y locales de sus repositorios de Git. Hemos aprendido:

  • Cómo eliminar una rama local en su repositorio de Git,
  • Cómo eliminar una rama remota en Git,
  • Cómo eliminar todas las ramas de Git que se han fusionado,
  • Cómo eliminar todas las ramas locales que no estén en el control remoto,
  • Cómo eliminar todas sus ramas locales de Git excepto master.

Publicar un comentario

0 Comentarios