Git

Cómo eliminar una rama de Git

Cómo eliminar una rama de Git
Crear ramas en Git es fácil. Se considera una de las mejores características de Git. Sin embargo, debido a la presencia de repositorios remotos y locales, eliminar ramas puede resultar un poco confuso.

En esta lección, haremos lo siguiente:

La lección debe brindarle una comprensión general del proceso de creación y eliminación de sucursales, para que tenga un buen dominio sobre los pasos necesarios cuando necesite eliminar una sucursal local o remota.

Empecemos.

1. Crear un repositorio remoto

Creemos una carpeta llamada proyecto.git e inicializar para ser el repositorio remoto:

proyecto $ mkdir.git
$ cd proyecto.git
$ git init -bare

Repositorio de Git vacío inicializado en / Users / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Creación de una copia local del repositorio remoto

En una nueva ubicación, creemos una copia local llamada project_local del repositorio remoto usando el comando clone.

Nota: Si está trabajando con GitHub o BitBucket, seguirá el mismo proceso para clonar el repositorio. En ese caso, tendrá un enlace SSH en lugar de la ruta completa del archivo que se usa aquí.

$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / project.git project_local
Clonando en 'project_local'…
advertencia: parece que has clonado un repositorio vacío.
hecho.

3. Creación de ramas dentro de la copia local

Primero agreguemos un archivo a la copia local y luego envíelo al repositorio remoto:

$ cd project_local
 
$ touch Léame.TXT
 
$ git add -A
 
$ git commit -m "Inicializando el módulo"
 
[master (root-commit) 81eb2a3] Inicialización del módulo
1 archivo modificado, 0 inserciones (+), 0 eliminaciones (-)
modo de creación 100644 Léame.TXT
 
$ git push origin master
 
Contando objetos: 3, hecho.
Objetos de escritura: 100% (3/3), 221 bytes | 0 bytes / s, hecho.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [nueva rama] maestro -> maestro

En los comandos anteriores, creamos un archivo llamado ReadMe.txt, lo agregó a la copia local, lo comprometió con la copia local y luego envió los cambios al repositorio remoto o la rama maestra del origen.

Si marca las ramas, verá la rama maestra en la copia local:

$ git branch
* Maestro

Si comprueba las ramas remotas, verá la rama maestra allí también:

$ git branch -r
origen / maestro

Sugerencia: puede usar la opción '-a' para ver todas las ramas en repositorios locales y remotos juntas.

$ git branch -a
* Maestro
mandos a distancia / origen / maestro

Creemos dos ramas llamadas b1 y b2 desde la rama maestra:

$ git branch b1
$ git branch b2

Comprobemos si se crearon las ramas:

$ git branch
 
b1
b2
* Maestro

Ahora vamos a hacer algunas modificaciones a las ramas:

$ git checkout b1
 
Cambiado a la rama 'b1'
 
$ touch branch1.TXT
 
$ git add -A
 
$ git commit -m "Modificación de Branch1"
 
[b1 a2f488e] Modificación de Branch1
1 archivo modificado, 0 inserciones (+), 0 eliminaciones (-)
modo de creación 100644 branch1.TXT
 
$ git checkout b2
 
Cambiado a la rama 'b2'
 
$ touch branch2.TXT
 
$ git add -A
 
$ git commit -m "Modificación de Branch2"
 
[b2 2abb723] Modificación de Branch2
1 archivo modificado, 0 inserciones (+), 0 eliminaciones (-)
modo de creación 100644 branch2.TXT

Revisemos los estados de las sucursales locales y remotas:

$ git branch
 
b1
* b2
Maestro
 
$ git branch -r
 
origen / maestro

Podemos ver localmente que tenemos tres ramas master, b1 y b2. Pero solo tenemos la rama maestra en el repositorio remoto.

4. Empujar sucursales al repositorio remoto

Empujemos la rama b1 al repositorio remoto:

$ git empujar origen b1
 
Contando objetos: 2, hecho.
Compresión delta usando hasta 4 subprocesos.
Comprimir objetos: 100% (2/2), hecho.
Objetos de escritura: 100% (2/2), 249 bytes | 0 bytes / s, hecho.
Total 2 (delta 0), reutilizado 0 (delta 0)
Para / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [nueva rama] b1 -> b1

Puede verificar los estados de las sucursales locales y remotas:

$ git branch
 
b1
* b2
Maestro
 
$ git branch -r
 
origen / b1
origen / maestro

De los estados de la rama anteriores, podemos ver que la rama b1 también está disponible de forma remota.

5. Eliminar sucursales localmente

Puede eliminar ramas localmente con la opción -d o -D.

git branch -d

Primero revisemos la rama maestra, para que podamos eliminar las ramas b1 y b2.

$ git checkout master
 
Cambiado a la rama 'maestra'
Tu sucursal está actualizada con 'origen / maestro'.

Probemos primero con la opción -d para eliminar la rama b1:

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

El error le dice que debe fusionar los cambios de la rama b1. Esta es una salvaguarda, para que no pierda por error su trabajo en las sucursales. Puede usar la opción -D para forzar la eliminación de la combinación. Pero en este caso, fusionemos los cambios de b1 y b2 en master y envíelos al repositorio remoto.

$ git fusionar b1
 
Actualizando 81eb2a3… a2f488e
Avance rápido
branch1.txt | 0
1 archivo modificado, 0 inserciones (+), 0 eliminaciones (-)
modo de creación 100644 branch1.TXT
 
$ git fusionar b2
 
Fusión realizada por la estrategia 'recursiva'.
branch2.txt | 0
1 archivo modificado, 0 inserciones (+), 0 eliminaciones (-)
modo de creación 100644 branch2.TXT
 
$ git push origin master
 
Contando objetos: 4, hecho.
Compresión delta usando hasta 4 subprocesos.
Comprimir objetos: 100% (4/4), hecho.
Objetos de escritura: 100% (4/4), 454 bytes | 0 bytes / s, hecho.
Total 4 (delta 1), reutilizado 0 (delta 0)
Para / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 maestro -> maestro

Ahora intente eliminar las ramas nuevamente:

$ git branch
 
b1
b2
* Maestro
 
$ git branch -d b1
 
Rama b1 eliminada (era a2f488e).
 
$ git branch -d b2
 
Rama b2 eliminada (era 2abb723).
 
$ git branch
 
* Maestro

Ha eliminado con éxito las ramas b1 y b2 localmente.

6. Eliminar ramas remotas

Cuando verifica las ramas remotas, todavía ve b1 presente:

$ git branch -r
 
origen / b1
origen / maestro

Puede utilizar el siguiente comando para eliminar una rama remota:

git push --Eliminar

Entonces puede eliminar la rama b1 remota con lo siguiente:

$ git push origin --delete b1
 
Para / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [eliminado] b1

Ahora, si revisa sus sucursales remotas, ya no debería ver b1:

$ git branch -r
 
origen / maestro

Felicidades! Has eliminado con éxito todas las ramas que creaste. Practique crear más ramas y eliminarlas para dominar el proceso de eliminación de ramas de Git.

Estudio adicional:

  • https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
  • https: // git-scm.com / book / es / v2 / Git-Branching-Branches-in-a-Nutshell
  • https: // git-scm.com / book / es / v2 / Git-Branching-Basic-Branching-and-Merging
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...
Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...