Solía git branch -d myBranch
eliminar una rama. Sin embargo, cuando estoy en el maestro e intento pagar una nueva rama con git checkout
, myBranch
todavía aparece en la pestaña autocompletar.
¿Cómo elimino el nombre myBranch
de la pestaña autocompletar para git checkout
?
git branch -a
Todavía enumeramyBranch
oorigin/myBranch
? Tenga en cuenta que, incluso simyBranch
no existe,git checkout myBranch
sigue siendo un atajo válido paragit checkout -b myBranch origin/myBranch
siorigin/myBranch
existe.Respuestas:
Una posible razón para esto es que, si
origin/myBranch
todavía existe una rama remota (por ejemplo ),git checkout myBranch
tendrá éxito como alternativa agit checkout -b myBranch origin/myBranch
. Esto está pensado como una conveniencia para el caso común de pagar una sucursal remota por primera vez, creando una sucursal de seguimiento local con el mismo nombre.También hay otras posibilidades, dependiendo de lo que esté usando exactamente para completar, pero esa es una de las primeras cosas que comprobaría. Si ejecuta
git branch -a
, y hay uno en laorigin/myBranch
lista (o uno para un control remoto que no seaorigin
, si lo tiene), entonces es probable que sea el culpable.fuente
origin/myBranch
todavía existe. Si eliminé lamyBranch
rama en Github (a través de la interfaz en línea), ¿es seguro para mí llamargit branch -d origin/myBranch
para eliminar esa rama remota?git fetch --prune origin
. Eso limpiará todas las ramas de seguimiento locales que ya no existen en el control remoto.git fetch --prune origin
las referencias locales a las ramas remotas desaparezcan en el autocompletado. Sería bueno pasar eso del comentario a la respuesta. En cualquier caso gracias por tu respuesta ya que me ayudó!git branch -a
me llevó por el camino correcto; mi compañero de trabajo sugiriógit fetch --prune --all
podar todas las ramas muertas de todos los controles remotos, lo cual es útil cuando se trabaja con muchos desarrolladores con muchas bifurcaciones.git fetch --prune --all
Publicar esto como su propia respuesta, ya que es una solución de una línea, pero si vota, asegúrese de votar por la respuesta de @ twalberg anterior.
la sugerencia de @ twalberg de
git branch -a
llevarme por el camino correcto; mi compañero de trabajo sugiriógit fetch --prune --all
podar todas las ramas muertas de todos los controles remotos, lo cual es útil cuando se trabaja con muchos desarrolladores con muchas bifurcaciones.fuente