Git Checkout expliqué: Comment extraire, modifier ou basculer une branche dans Git

La git checkoutcommande bascule entre les branches ou restaure les fichiers d'arborescence de travail. Il existe un certain nombre d'options différentes pour cette commande qui ne seront pas couvertes ici, mais vous pouvez les consulter toutes dans la documentation Git.

Extraire un commit spécifique

pour extraire un commit spécifique, exécutez la commande:

git checkout specific-commit-id

nous pouvons obtenir les identifiants de validation spécifiques en exécutant:

git log

Extraire une succursale existante

Pour extraire une branche existante, exécutez la commande:

git checkout BRANCH-NAME

Généralement, Git ne vous permettra pas d'extraire une autre branche à moins que votre répertoire de travail ne soit propre, car vous perdriez toutes les modifications de répertoire de travail qui ne sont pas validées. Vous avez trois options pour gérer vos modifications: 1) les supprimer, 2) les valider ou 3) les cacher.

Commander une nouvelle succursale

Pour créer et extraire une nouvelle branche avec une seule commande, vous pouvez utiliser:

git checkout -b NEW-BRANCH-NAME

Cela vous basculera automatiquement vers la nouvelle branche.

Extraire une nouvelle branche ou réinitialiser une branche à un point de départ

La commande suivante est similaire à -Bl'extraction d' une nouvelle branche, mais utilise l'indicateur (notez le captital B) et un START-POINTparamètre facultatif :

git checkout -B BRANCH-NAME START-POINT

Si la BRANCH-NAMEbranche n'existe pas, Git la créera et la démarrera à START-POINT. Si la BRANCH-NAMEbranche existe déjà, Git réinitialise la branche à START-POINT. Cela équivaut à courir git branchavec -f.

Forcer un paiement

Vous pouvez passer l' option -fou --forceavec la git checkoutcommande pour forcer Git à changer de branche, même si vous avez des modifications non étagées (en d'autres termes, l'index de l'arbre de travail diffère de HEAD). Fondamentalement, il peut être utilisé pour éliminer les changements locaux.

Lorsque vous exécutez la commande suivante, Git ignorera les entrées non fusionnées:

git checkout -f BRANCH-NAME # Alternative git checkout --force BRANCH-NAME

Annuler les modifications dans votre répertoire de travail

Vous pouvez utiliser la git checkoutcommande pour annuler les modifications que vous avez apportées à un fichier dans votre répertoire de travail. Cela rétablira le fichier à la version dans HEAD:

git checkout -- FILE-NAME