307 votes

Comment puis-je supprimer la branche Git actuelle ?

J'ai une branche appelée Test_Branch. Lorsque j'essaie de la supprimer en utilisant la méthode recommandée, je reçois l'erreur suivante :

Impossible de supprimer la branche 'Test_Branch' vérifiée à '[emplacement du répertoire]’.

Je n'ai aucune autre information en dehors de cela. Je peux facilement supprimer la branche distante mais la branche locale ne disparaîtra pas.

0 votes

Au fait, je suis totalement nouveau sur Git. Je l'ai seulement utilisé ces derniers jours. J'ai suivi plusieurs cours en ligne et lu quelques livres et les réponses semblent ne pas y être non plus.

0 votes

Si vous exécutez git branch, que dit-il ?

79 votes

Dans l'image, voici ce qui se passe : publicdomainpictures.net/pictures/10000/velka/…

505voto

Arpit Points 11903

Passer à une autre branche et supprimer Test_Branch, comme suit :

$ git checkout master
$ git branch -d Test_Branch

Si la commande ci-dessus vous donne une erreur - La branche 'Test_Branch' n'est pas entièrement fusionnée. Si vous êtes sûr de vouloir la supprimer et que vous souhaitez toujours la supprimer, alors vous pouvez la supprimer de force en utilisant -D au lieu de -d, comme suit :

$ git branch -D Test_Branch

Pour supprimer Test_Branch également du remote, exécutez :

git push origin --delete Test_Branch

71 votes

Changer de branches était ce qui m'a trompé - bonne découverte! Vous ne pouvez pas supprimer la branche si vous êtes actif dedans. ;-)

14 votes

Si vous essayez quelques checkouts différents et obtenez toujours le même message, regardez la sortie de git status, ou git branch; si vous êtes en train de rebaser Test_branch alors simplement passer à une branche/commit différent ne résoudra pas ce problème. Au lieu de cela, utilisez git rebase --abort, puis git checkout --detach et enfin git branch -D Test_branch

6 votes

De nouvelles preuves que git signifie "git est terrible". Plus je l'utilise, plus ces ridicules obstacles auxquels il faut sauter augmentent. Surtout lorsque vous voulez probablement revenir immédiatement sur la même branche.

37voto

jinxcat2008 Points 383

Je suis tombé là-dessus aujourd'hui et passer à une autre branche n'a pas aidé. Il s'est avéré que les informations de mon worktree s'étaient corrompues et qu'il y avait un worktree avec le même chemin de dossier que mon répertoire de travail avec un HEAD pointant vers la branche (git worktree list). J'ai supprimé le dossier .git/worktree/ qui le référençait et git branch -d a fonctionné.

27voto

Randy Leberknight Points 789

Vous avez probablement Test_Branch en cours de vérification, et vous ne pouvez pas le supprimer tant qu'il est votre branche actuelle. Veuillez vérifier une autre branche, puis essayez de supprimer Test_Branch.

18voto

dkniffin Points 699

Si vous avez créé plusieurs worktrees avec git worktree , vous devrez exécuter git worktree prune avant de pouvoir supprimer la branche

4 votes

Plus précisément, vous aurez besoin d'utiliser git worktree prune

0 votes

Mais lisez d'abord ce que fait git prune - cela pourrait entraîner une perte de données

1 votes

Plutôt que d'utiliser git worktree prune, je suggère d'utiliser git worktree remove pour être sûr de ne pas supprimer plus d'informations d'arbre de travail que nécessaire. Si vous avez des doutes, consultez la documentation qui est produite par cette commande : git help worktree

3voto

Vasu Points 49

Cela a fonctionné pour moi...
J'ai supprimé les dossiers là-bas dans le dossier .git/worktrees, puis j'ai essayé "git delete -D nom-de-branche".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X