2010-03-15 5 views
6

La commande pour supprimer une branche distante dans git est lecommande pour expliquer git supprimer branche distante

git push origin :/heads/[feature-name] 
     [feature-name] being the name of the branch 

suivant ce fait le travail parfaitement vrai que.
Cependant en le tapant, je ne peux faire aucune association que ce que je tape est en train de supprimer une branche.

Pouvez-vous décrire pourquoi cela fonctionne réellement? (ma question n'a rien à voir avec la façon dont elle est implémentée)

Comprendre cela, j'espère aider à mieux comprendre le fonctionnement de git.

+0

bonne question .. Je me demandais la même chose. – hasen

Répondre

8

Le format de git push (pour notre part) est:

git push <repository> <src>:<dst> 

Donc, en utilisant push origin git:/têtes/[fonction nom] dit git pour pousser une branche vide à la fonction -name branche d'origine. Alors vous le nettoyez.

+0

aha, enfin c'est logique pour moi! – hasen

0

Le nom de la branche est une étiquette pointant vers la validation SHA. Vous supprimez effectivement cette étiquette. Comme il n'y a pas d'étiquette dans le maintien de cette branche, elle est saccagée et est perdue.

Cela mis à part, la « supprimer » commande est définie pour avoir cette syntaxe, comme décrit dans la page de manuel pour git push:

git poussée origine: expérimentale Trouver une ref correspondant expérimentale dans le référentiel d'origine (par exemple, refs/heads/experimental), et supprimez-le.

L'option --delete peut également être utilisée.

Questions connexes