Avez-vous essayé
git branch -D -- --track
? le " --
" est généralement de la convention de "ce qui suit n'est pas une option, quel que soit son nom"
À partir de "The Art of Unix Programming", section "Options de Ligne de Commande":
Il est également classique de reconnaître un double trait d'union comme un signal d'arrêt de l'option d'interprétation et de traiter tous les arguments suivants littéralement.
Vous trouverez que la convention dans d'autres (pas nécessaire d'Unix associées) CLI (Command Line Interface) comme cleartool:
Si un nonoption argument commence par un tiret (–
) personnage, vous devrez peut-être faire précéder par un double trait d'union argument, pour l'empêcher d'être interprété comme une option:
cleartool rmtype -lbtype -- -temporary_label-
Le P18 (rapide et souple fichier avec la macro du préprocesseur capacités de traitement et de soutien spécial pour l'internationalisation de l') mentionne également et donne une bonne description de l'idée générale derrière cette convention:
Option tous les arguments passés aux commandes de démarrer avec un seul tiret.
Tous les arguments d'option (le cas échéant) doit précéder tous les non-arguments d'option.
La fin de l'option arguments peut être signalé à l'aide d'un double trait d'union, c'est utile si un non-argument commence par un tiret. La résiliation de la liste des arguments d'option avec un double trait d'union fonctionne pour toutes les commandes, même ceux qui ne prennent pas une option arguments.
Le OptionParser outil écrit en ruby également la pose assez clairement:*
L'Option D'Analyse De La Résiliation
Il est de convention, qu'un double trait d'union est un signal d'arrêt de l'option à l'interprétation et à lire les déclarations restantes sur la ligne de commande littéralement. Ainsi, une commande telle que:
app -- -x -y -z
ne sera pas "voir" les trois mode-drapeaux. Au lieu de cela, ils seront traités comme des arguments de l'application:
#args = ["-x", "-y", "-z"]
Remarque: parfois, il faut trois tirets et non pas deux, surtout quand la CLI suit strictement la Gnu options de styles:
La Gnu style de ligne de commande options de fournir un soutien pour l'option mots (ou mots-clés), mais encore conserver la compatibilité avec Unix options de style.
Les options de ce style sont parfois appelées long_options
et le style Unix options short_options
.
La compatibilité est maintenu par précédant la long_options avec deux tirets
Semblable à Unix style double trait d'union '--
', la Gnu style a un triple trait d'union '---
"pour signaler que l'option analyse être arrêté et pour traiter le reste du texte comme arguments (qui est, de lire littéralement à partir de la ligne de commande)
Alors... si '--
'n'est pas suffisant (il devrait être avec commandes Git), essayez' ---
'