Quelle est la signification des doubles tirets avant le nom du fichier dans cette commande git?
git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt
Sont-ils obligatoires? Est-ce équivalent à
git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
Supposons que j'ai un fichier nommé path/to/file.txt
dans mon référentiel Git et je souhaite annuler les modifications apportées.
git checkout path/to/file.txt
Supposons maintenant que le fichier s'appelle master
...
git checkout master
Oups! Cela a changé de branche à la place. Le --
sépare l'arborescence à extraire des fichiers à extraire.
git checkout -- master
Cela nous aide également si certains utilisateurs ajoutent un fichier nommé -f
vers notre référentiel:
git checkout -f # wrong
git checkout -- -f # right
Ceci est documenté dans git-checkout: Argument Disambiguation .
Le double tiret "-" signifie "fin de la ligne de commande", c'est-à-dire qu'il indique à la commande précédente de ne pas essayer d'analyser ce qui vient après les options de la ligne de commande.