Git
Chapters ▾ 2nd Edition

A3.3 Appendix C: Commandes Git - Capture d’instantané basique

Capture d’instantané basique

Pour le flux de travail basique d’indexation du contenu et de sa validation dans votre historique, il n’y a que quelques commandes basiques.

git add

La commande git add ajoute le contenu du répertoire de travail dans la zone d’index pour le prochain commit. Quand la commande git commit est lancée, par défaut elle ne regarde que cette zone d’index, donc git add est utilisée pour réaliser le prochain commit exactement comme vous le voulez.

Cette commande est une commande incroyablement importante dans Git et est mentionnée ou utilisée des dizaines de fois dans ce livre. Nous allons revoir rapidement quelques utilisations uniques qui peuvent être trouvées.

Nous avons d’abord présenté et expliqué git add en détails dans Placer de nouveaux fichiers sous suivi de version.

Nous mentionnons comment s’en servir pour résoudre les conflits de fusion dans Conflits de fusions (Merge conflicts).

Nous la passons en revue pour indexer interactivement seulement des parties spécifiques d’un fichier modifié dans Indexation interactive.

Enfin, nous l’émulons à bas niveau dans Les objets arbres pour que vous ayez une idée de ce qu’elle fait en coulisses.

git status

La commande git status vous montrera les différents états des fichiers de votre répertoire de travail et de l’index. Quels sont les fichiers modifiés et non indexés et lesquels sont indexés mais pas encore validés. Dans sa forme normale, elle vous donnera aussi des conseils basiques sur comment passer les fichiers d’un état à l’autre.

Nous couvrons pour la première fois status dans Vérifier l’état des fichiers, à la fois dans sa forme basique et dans sa forme simplifiée. Bien que nos l’utilisions tout au long du livre, pratiquement tout ce que vous pouvez faire avec la commande git status y est couvert.

git diff

La commande git diff s’utilise lorsque vous voulez voir la différence entre deux arbres. Cela peut être la différence entre votre répertoire de travail et votre index (git diff en elle-même), entre votre index et votre dernier commit (git diff --staged) ou entre deux commits (git diff master brancheB).

Nous regardons d’abord les utilisations basiques de git diff dans Inspecter les modifications indexées et non indexées où nous montrons comment voir quels changements sont indexés et lesquels ne le sont pas.

Nous l’utilisons pour chercher de possibles problèmes d’espaces blancs avant de valider avec l’option --check dans Guides pour une validation.

Nous voyons comment vérifier les différences entre branches plus efficacement avec la syntaxe git diff A...B dans Déterminer les modifications introduites.

Nous l’utilisons pour filtrer les différences d’espaces blancs avec -w et comment comparer différentes étapes de fichiers conflictuels avec --theirs, --ours et --base dans Fusion avancée.

Enfin, nous l’utilisons pour comparer efficacement les modifications de sous-modules avec --submodule dans Démarrer un sous-module.

git difftool

La commande git difftool lance simplement un outil externe pour vous montrer la différence entre deux arbres dans le cas où vous voudriez utiliser quelque chose de différent de la commande git diff intégrée.

Nous ne mentionnons ceci que brièvement dans Git Diff dans un outil externe.

git commit

La commande git commit prend tout le contenu des fichiers qui ont été indexés avec git add et enregistre un nouvel instantané permanent dans la base de données puis fait pointer la branche courante dessus.

Nous couvrons d’abord les bases de la validation dans Valider vos modifications. Là nous montrons aussi comment utiliser l’option -a pour sauter l’étape git add dans le travail quotidien et comment utiliser l’option -m pour passer un message de validation en ligne de commande plutôt que d’ouvrir un éditeur.

Dans Annuler des actions, nous couvrons l’utilisation de l’option --amend pour refaire le commit le plus récent.

Dans Les branches en bref, nous allons plus dans le détail sur ce que git commit fait et pourquoi elle le fait ainsi.

Nous avons vu comment signer cryptographiquement les commits avec l’option -S dans Signer des commits.

Enfin, nous regardons ce que la commande git commit fait en coulisses et comment elle est réellement implémentée dans Les objets commit.

git reset

La commande git reset est d’abord utilisée pour défaire des choses, comme son nom l’indique. Elle modifie le pointeur HEAD et change optionnellement l’index et peut aussi modifier le répertoire de travail si vous l’utilisez avec l’option --hard. Cette dernière option rend possible la perte de votre travail par cette commande si elle est mal employée, alors soyez certain de bien la comprendre avant de l’utiliser.

Nous couvrons d’abord effectivement le cas le plus simple de git reset dans Désindexer un fichier déjà indexé où nous l’utilisons pour désindexer un fichier sur lequel nous avons lancé git add.

Nous la couvrons ensuite de façon assez détaillée dans Reset démystifié, qui est entièrement dédié à l’explication de cette commande.

Nous utilisons git reset --hard pour annuler une fusion dans Abandonner une fusion, où nous utilisons aussi git merge --abort, qui est un peu un enrobage pour la commande git reset.

git rm

La commande git rm est utilisée pour supprimer des fichiers de l’index et du répertoire de travail pour Git. Elle est similaire à git add dans le sens où elle indexe la suppression d’un fichier pour le prochain commit.

Nous couvrons la commande git rm dans le détail dans Effacer des fichiers, y compris en supprimant récursivement les fichiers et en ne supprimant les fichiers que de l’index mais en les laissant dans le répertoire de travail avec --cached.

Le seul autre usage différent de git rm dans le livre est dans Suppression d’objets où nous utilisons et expliquons brièvement l’option --ignore-unmatch quand nous lançons git filter-branch, qui ne sort tout simplement pas d’erreur lorsque le fichier que nous essayons de supprimer n’existe pas. Cela peut être utile dans le but d’utiliser des scripts.

git mv

La commande git mv est une commande de faible utilité pour renommer un fichier et ensuite lancer git add sur le nouveau fichier et git rm sur l’ancien.

Nous ne mentionnons cette commande que brièvement dans Déplacer des fichiers.

git clean

La commande git clean est utilisée pour supprimer les fichiers indésirables de votre répertoire de travail. Cela peut aller de la suppression des fichiers temporaires de compilation jusqu’aux fichiers de conflit de fusion.

Nous couvrons une grande part des options et des scénarios dans lesquels vous pourriez utiliser la commande clean dans Nettoyer son répertoire de travail.