¿Cómo elimino los nombres de las sucursales eliminadas de la function de autocomplete?

Utilicé git branch -d myBranch para eliminar una twig. Sin embargo, cuando estoy en master y trato de pagar una nueva sucursal con git checkout , myBranch aún aparece en la pestaña autocomplete.

¿Cómo myBranch el nombre myBranch de tab-autocomplete para git checkout ?

Una posible razón para esto es que, si todavía existe una twig remota (por ejemplo, origin/myBranch ), entonces git checkout myBranch tendrá éxito como alternativa a git checkout -b myBranch origin/myBranch . Esto está pensado como una conveniencia para el caso común de pago de una sucursal remota por primera vez, creando una twig de seguimiento local con el mismo nombre.

También hay otras posibilidades, dependiendo de qué es exactamente lo que está utilizando para completar, pero esa es una de las primeras cosas que verificaría. Si ejecuta git branch -a , y hay un origin/myBranch enumerado (o uno para un control remoto que no sea el origin , si lo tiene), entonces es probable que sea el culpable.

git fetch --prune --all

Publicar esto como su propia respuesta, ya que es una solución de una sola línea, pero si vota, asegúrese de votar por la respuesta de @ twalberg anterior.

La sugerencia de @ twalberg de git branch -a me condujo por el path correcto; mi compañero de trabajo sugirió que git fetch --prune --all podar todas las twigs muertas de todos los controles remotos, lo que es útil cuando se trabaja con muchos desarrolladores con muchas horquillas.

Probablemente no sea así. Es tu shell el que termina el command ya que lo usaste una vez.

Puede echar un vistazo a su historial escribiendo el history o editando ~/.bash_history . Puedes editar tu historial desde el file ~/.bash_history , o puedes escribir el history luego get el número de línea con git checkout myBranch en él, luego usa el history -d {line number here} . Como último recurso, puede usar el command history -c para destruir por completo el historial.