Je suis assez nouveau dans l'utilisation de git, et je l'utilise pour contribuer à la ROM AOKP Android. J'ai réussi à créer quelques branches, à modifier le code et à télécharger les commits qui ont été obtenus fusionné sur l'extrémité distante. Mais dans mon référentiel local, ces branches s'affichent toujours (même si elles ne présentent aucun changement). Le problème est que lorsque j'ai créé ces branches, je l'ai fait directement à partir du sous-dossier qui devait être modifié, donc je n'ai pas de branches "supérieures" où aller. Et à cause de cela, je ne peux pas supprimer ces branches - git tels me error: Cannot delete the branch 'MyMods' which you are currently on.
Alors, que puis-je faire pour me débarrasser de ces branches?
Extraire d'abord une branche différente, avant de la supprimer:
git checkout master
git branch -d MyMods
De plus, les branches n'ont rien à voir avec les dossiers. Git suit toujours l'ensemble du référentiel à la fois, avec tous ses dossiers et fichiers. Une branche n'est rien d'autre qu'un pointeur vers un seul commit, ou instantané, dans l'historique du référentiel.
Oui, il suffit de commander une autre branche (peut-être maître), puis:
git checkout master
git branch -d thebran
Si la branche que vous ne pouvez pas supprimer est un arbre de travail, vous devrez peut-être d'abord supprimer cet arbre de travail:
rm -r MyMods
git worktree list # shows MyMods
git worktree Prune
git worktree list # doesn't show MyMods
git branch -d MyMods
Mais dans mon référentiel local, ces branches apparaissent toujours (même si elles apparaissent comme n'ayant aucun changement).
Les succursales apparaîtront dans votre référentiel local, sauf si vous les supprimez. Ils ne disparaissent pas lorsque vous les poussez.
Les réponses ci-dessus vous indiquent comment supprimer une branche. Cependant, j'ajouterais que l'utilisation de l'option -D est un peu plus puissante. Cette option supprime la branche quel que soit son état (dé) fusionné:
git branch -D branchName
C'est la bombe atomique de suppression de branche. Utilisez avec précaution.