Sens de Git checkout double tiret
Quel est le sens de la double tiret avant le nom de fichier dans cette commande git?
git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt
Sont-ils obligatoires? Est-il équivalent à
git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
- C'est une expression de l'interpréteur. Voir unix.stackexchange.com/questions/11376/...
- C'est légèrement différent pour Git. Pour Git, il se sépare de l'arbre de la des chemins, dans les cas où les arbres et les chemins se ressemblent.
- Je vois. Merci pour la clarification.
- Également documenté dans stackoverflow.com/a/1192194/6309
- Double de Différence entre "git checkout <nom de fichier>" et "git checkout -- <nom de fichier>"
- C'est un doublon, mais ce double est au moins googleable par la requête 'git double dash".
- En ajoutant juste un mot pour timmcliu post pour clarifier son sens: "Le double tiret "--" signifie "fin des options de ligne de commande" c'est à dire qu'il indique à la commande précédente ne pas essayer d'analyser ce qui vient après que options de ligne de commande.'
Vous devez vous connecter pour publier un commentaire.
Supposons que j'ai un fichier nommé
path/to/file.txt
dans mon dépôt Git, et je tiens à rétablir les modifications sur elle.Supposons maintenant que le fichier est nommé
master
...Oups! Qui a changé les branches à la place. Le
--
sépare de l'arbre que vous souhaitez consulter à partir des fichiers que vous souhaitez consulter.Il nous aide également si certains freako ajouté un fichier nommé
-f
à notre dépôt:Ceci est documenté dans git-checkout: l'Argument de Désambiguïsation.
--
peut être utilisé pour séparer des options d'autres arguments, de sorte que vous verrez sur les commandes commecp
etmv
(qui ne font pas partie de Bash).checkout
documentation de la commande?checkout
de commande, mais nulle part dans la documentation expliquer ce qu'il fait ou pourquoi il est utilisé...ce qui est finalement, ce qui m'a amené ici.git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]
La[--]
signifie que--
peut être utilisé, éventuellement, de séparer l'arbre de la des chemins.--
. Comme quelqu'un qui ne vient pas de linux en arrière-plan, il n'est pas évident ce qui ne. Pour moi, il est apparu à une syntaxe spécifique à git, avec pas de description de son but fonctionnel. Je pense qu'il serait mieux d'avoir une courte description comme les autres options, ou au moins un lien vers un linux page de manuel.--
. man7.org/linux/man-pages/man7/man-pages.7.html-
est vrai, en général. À l'aide de--
pour lever l'ambiguïté entre les différents types d'arguments positionnels (par exemple: "l'arbre-ish" et "chemins" dans le cas degit-checkout
) est assez bizarre. Je n'ai jamais entendu parler d'autre chose que de git qui fait cela.Le double tiret "--" signifie "fin des options de ligne de commande" c'est à dire qu'il indique à la commande précédente ne pas essayer d'analyser ce qui vient après options de ligne de commande.