Que fait l'option double-dash lors de la réinitialisation de git?

J'ai vu des commands comme:

git reset e542 -- readme.txt 

Je comprends que cette command met dans l'index le contenu du file readme.txt de commit e542. Mais quelle est l'option -- là-bas?

La page de manuel git reset l'indique comme facultative pour les deux premiers formulaires mais je n'ai pas pu find ce que cela signifie.

 git reset [-q] [<commit>] [--] <paths>… git reset (--patch | -p) [<commit>] [--] [<paths>…] 

Solutions Collecting From Web of "Que fait l'option double-dash lors de la réinitialisation de git?"

-- sépare les noms de twigs des noms de files, en cas d'ambiguïté (si vous avez une twig et un file avec le même nom). S'il n'y a pas d'ambiguïté, vous n'avez pas besoin de -- .

Aussi, comme mentionné par Jonas Wielicki, cela permet les noms de files commençant par - ; ceux-ci seraient autrement interprétés comme des options de command line.

Je crois qu'il sépare simplement le commit (qui est un paramètre facultatif) de la list des paths. Si vous n'aviez pas le séparateur, il n'y aurait pas de moyen sûr de distinguer si le premier paramètre était un path ou un commit.