2010-09-28 13 views
2

J'ai proposé un repo SVN à Git et probablement en raison d'un certain nombre de clonages, je suis maintenant à gauche avec un tas de branches qui ressemblent àNettoyage branches Git à distance

BranchA 
origin/BranchA 
remotes/BranchA 
remotes/origin/BranchA 
remotes/origin/origin/BranchA 

-à-dire la même branche est cotée un nombre de fois. Comment puis-je nettoyer ce gâchis. Il y a> 50 succursales, certaines ne sont pas nécessaires du tout, et pour le reste, je serais heureux de les avoir une seule fois.

EDIT:

C'est ce connard origine du spectacle à distance ressemble à un cas:

Remote branches: 
BranchA tracked 
origin/BranchA tracked 

...

Local branches configured for 'git pull': 
origin/BranchA merges with remote BranchA 

...

Local refs configured for 'git push': 
BranchA pushes to BranchA (up to date) 
origin/BranchA pushes to origin/BranchA (up to date) 

Répondre

5

Vous pouvez supprimer ces branches par en utilisant cette commande:

git push origin :branch_name 

Pour enlever la branche BranchA:

git push origin :BranchA 

Pour enlever la branche origin/BranchA:

git push origin :origin/BranchA 

Sinon, vous pouvez utiliser git branch -dr BranchA et ainsi de suite. Supprimer toutes les branches sauf BranchA et origin/BranchA. Vous avez peut-être supprimé la télécommande origin, auquel cas vous devez supprimer la télécommande remotes et l'ajouter à nouveau comme télécommande origin.

+0

Lesquelles dois-je retirer? Disons que je veux garder l'un des BranchA, serait-ce des télécommandes/BranchA? – Makis

+0

@Makis: mise à jour de la réponse –

+0

Merci, je vais le faire! – Makis