El comando git branch -amuestra ramas remotas que existen en su repositorio local . Esto puede sonar un poco confuso, pero para entenderlo, debe comprender que hay una diferencia entre una rama remota y una rama que existe en un repositorio remoto. Las ramas remotas son ramas locales que se asignan a ramas del repositorio remoto. Entonces, el conjunto de ramas remotas representa el estado del repositorio remoto.
La forma habitual de actualizar la lista de ramas remotas es usar git fetch. Esto obtiene automáticamente una lista actualizada de ramas desde el control remoto y configura ramas remotas en el repositorio local, también recuperando cualquier objeto de confirmación que pueda faltar.
Sin embargo, de forma predeterminada, git fetchno elimina las ramas remotas que ya no tienen una rama equivalente en el control remoto. Para hacer eso, necesita explícitamente podar la lista de ramas remotas:
git fetch --prune
Esto eliminará automáticamente las ramas remotas que ya no existen en el control remoto. Después, git branch -rle mostrará una lista actualizada de ramas que realmente existen en el control remoto: y aquellas que puede eliminar usando git push.
Dicho esto, para usarlo git push --delete, debe especificar el nombre de la rama en el repositorio remoto; No es el nombre de su sucursal remota. Entonces, para eliminar la rama test(representada por su rama remota origin/test), usaría git push origin --delete test.
git branch -aenumerará las sucursales en su local y no desde su control remoto. ¿Correcto?