Laissez-moi vous expliquer quelques cas d'utilisation de l'extraction avec un fichier, un dossier et des branches afin qu'il puisse être utile pour la compréhension.
Disons que nous avons un dossier nommé devet que index.htmltout est suivi et que le répertoire de travail est propre.
Si je change accidentellement le nom du fichier index.htmlet que je veux annuler cela, je vais simplement l'utiliser, git checkout index.htmlil récupérera cet état de fichier à partir de la branche actuellement sélectionnée du référentiel.
Maintenant, si j'ai fait un changement dans le devdossier et que je veux le récupérer. Je peux utiliser, git checkout devmais que se passe-t-il s'il y a déjà une branche nommée devau lieu de vérifier ce dossier, cela va abaisser cette branche. Pour éviter cela, je préfère le faire git checkout -- dev.
Maintenant, ici, le double tiret nu représente la branche actuelle et demande à git le dossier devde la branche actuellement sélectionnée.
De même, si je le fais git checkout alpha dev, le dossier dev sera extrait de la branche alpha.
Cette réponse est pour votre première question 'git checkout vraiment signifie'.