IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Git : retrouvez les meilleures réponses à vos questions pour apprendre Git, de niveau débutant à expert

FAQ Git : retrouvez les meilleures réponses à vos questions pour apprendre Git, de niveau débutant à expertConsultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 110, dernière mise à jour : 19 juin 2021 

 
OuvrirSommaireLe répertoire de travail (working directory)

Littéralement, il s’agit du répertoire de travail de votre dépôt. C’est
le répertoire qui contient tous les fichiers susceptibles d’être dans le dépôt.
Il contient le dossier .git permettant à Git de sauvegarder les métadonnées.

Il expose l’état actuel d’une branche, d’un commit ou d’un tag du projet.

C’est depuis le répertoire de travail (working directory) que l’on effectue les modifications souhaitées sur nos fichiers.

Mis à jour le 8 mars 2019  par Marc Loupias

La commande git checkout peut prendre en paramètre un hash de commit, un nom de branche ou un nom de tag. L’exécution de cette commande change le répertoire de travail (working directory) pour exposer l’état du commit, de la branche ou du tag.

 
Sélectionnez
1.
git checkout 3ffb92fe20b6785d801023783d2f18c4de6e1593

La commande ci-dessus a pour effet de changer l’état du répertoire de travail (working directory) en l’état correspondant au commit désigné. Concrètement, Git modifie les fichiers traqués pour les mettre dans l’état correspondant au commit désigné.

Idem avec un nom de branche :

 
Sélectionnez
1.
git checkout master

Ou avec un tag :

 
Sélectionnez
1.
git checkout 1.0.0
Mis à jour le 8 mars 2019  par Marc Loupias
 
Sélectionnez
1.
2.
3.
$ git status
On branch master
nothing to commit, working directory clean

Cette commande indique qu’on a fait un checkout de la branche master et que rien n’est modifié.

En cas de doute, exécutez toujours un git status pour savoir dans quel état se situe Git
et surtout, pour savoir si vous avez des fichiers en attente d’être commités, à ajouter à votre commit ou
non versionnés.

Mis à jour le 8 mars 2019  par Marc Loupias

Si nous avons modifié le fichier nom-fichier.txt :

 
Sélectionnez
1.
git checkout -- nom-fichier.txt

Cette commande a pour effet de supprimer toutes les modifications effectuées dans le fichier.

Mis à jour le 8 mars 2019  par Marc Loupias

Vous obtenez ce genre de message après un checkout sur un commit ou sur un tag :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$ git checkout 0.4.14
Note: checking out '0.4.14'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD est maintenant sur 2ef6cee... Version bump

La variable HEAD est un alias du commit de tête de la branche courante. Lorsque vous ajoutez des commits à la branche, la variable HEAD est mise à jour.

En mode détaché ce ne sera plus le cas.

Pour ajouter des commits au dépôt, il est donc nécessaire de se trouver sur une branche ; c’est le concept qui représente une ligne de développement.

Mis à jour le 8 mars 2019  par Marc Loupias

Une raison courante de vouloir exécuter un checkout sur un tag est de vouloir créer un hotfix. Dans ce cas, on va faire un checkout du tag, puis immédiatement créer une nouvelle branche :

 
Sélectionnez
1.
2.
git checkout 0.4.14
git checkout -b hotfix/0.4.15

Le développement du hotfix peut alors démarrer sur la branche hotfix/0.4.15
tout en repartant de l’endroit où la branche 0.4.14 était restée.

Mis à jour le 8 mars 2019  par Marc Loupias

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2019 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.