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é dev
et que index.html
tout est suivi et que le répertoire de travail est propre.
Si je change accidentellement le nom du fichier index.html
et que je veux annuler cela, je vais simplement l'utiliser, git checkout index.html
il 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 dev
dossier et que je veux le récupérer. Je peux utiliser, git checkout dev
mais que se passe-t-il s'il y a déjà une branche nommée dev
au 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 dev
de 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'.