J'avais l'habitude git branch -d myBranch
de supprimer une branche. Cependant, lorsque je suis sur master et que j'essaye de commander une nouvelle branche avec git checkout
, myBranch
apparaît toujours dans l'onglet-autocomplete.
Comment supprimer le nom myBranch
de l'onglet de saisie semi-automatique pour git checkout
?
git branch -a
encore la liste soitmyBranch
ouorigin/myBranch
? Notez que, même s'ilmyBranch
n'existe pas,git checkout myBranch
est toujours un raccourci valide pourgit checkout -b myBranch origin/myBranch
siorigin/myBranch
existe.Réponses:
Une des raisons possibles à cela est que, si une branche distante (par exemple
origin/myBranch
) existe toujours,git checkout myBranch
elle réussira comme alternative àgit checkout -b myBranch origin/myBranch
. Ceci est conçu comme une commodité pour le cas courant de l'extraction d'une branche distante pour la première fois, créant une branche de suivi locale portant le même nom.Il existe également d'autres possibilités, en fonction de ce que vous utilisez exactement pour l'achèvement, mais c'est l'une des premières choses que je vérifierais. Si vous exécutez
git branch -a
et qu'il existe uneorigin/myBranch
liste (ou une pour une télécommande autre queorigin
, si vous en avez), c'est probablement un coupable.la source
origin/myBranch
existe encore. Si j'ai supprimé lamyBranch
branche sur Github (via l'interface en ligne), puis-je appelergit branch -d origin/myBranch
en toute sécurité pour supprimer cette branche distante?git fetch --prune origin
. Cela nettoiera toutes les branches de suivi locales qui n'existent plus sur la télécommande.git fetch --prune origin
pour que les références locales aux succursales distantes disparaissent lors de la saisie semi-automatique. Il serait peut-être bon de passer du commentaire à la réponse. En tout cas merci pour votre réponse car elle m'a aidé!git branch -a
m'a conduit sur la bonne voie; mon collègue a suggérégit fetch --prune --all
d'élaguer toutes les branches mortes de toutes les télécommandes, ce qui est utile lorsque vous travaillez avec beaucoup de développeurs avec beaucoup de fourches.git fetch --prune --all
Publier ceci comme sa propre réponse car il s'agit d'une solution sur une ligne, mais si vous votez, assurez-vous de voter pour la réponse de @ twalberg ci-dessus.
la suggestion de @ twalberg pour
git branch -a
me conduire sur la bonne voie; mon collègue a suggérégit fetch --prune --all
d'élaguer toutes les branches mortes de toutes les télécommandes, ce qui est utile lorsque vous travaillez avec beaucoup de développeurs avec beaucoup de fourches.la source