Aller au contenu

git add

Description

La commande git add ajoute les modifications du répertoire de travail à la zone de staging. Grâce à elle, vous indiquez à Git que vous souhaitez inclure les mises à jour d'un fichier spécifique dans le prochain commit. Cependant, pour enregistrer ces modifications, vous devez également exécuter git commit. Combinée aux commandes mentionnées ci-dessus, la commande git status est également utile pour vérifier l'état du répertoire de travail et de la zone de staging.

gitadd

Principes de fonctionnement

Les commandes git add et git commit sont utilisées pour enregistrer les versions du projet dans l'historique du dépôt. Elles sont essentielles pour chaque utilisateur de Git, car elles constituent la base du flux de travail Git.

Lors du développement d'un projet, vous modifiez d'abord des fichiers dans le répertoire de travail. Lorsqu'une copie de l'état actuel est prête à être sauvegardée, vous mettez les modifications en staging à l'aide de git add. La commande git add doit être exécutée chaque fois que vous modifiez un fichier.

Zone de staging

Le rôle principal de la commande git add est de promouvoir les modifications du répertoire de travail vers la zone de staging de Git. La zone de staging est l'une des caractéristiques les plus spécifiques de Git, car elle vous permet de regrouper toutes les modifications connexes en instantanés très ciblés. Ce n'est qu'après cela que vous pouvez valider (commit) ces modifications dans l'historique de votre projet.

Options courantes

  1. Mise en staging des modifications dans <file> pour le prochain commit :

git add file

bash
git add <file>
  1. Mise en staging de toutes les modifications dans <directory> pour le prochain commit :

git add directory

bash
git add <directory>
  1. Mise en staging de toutes les modifications dans les fichiers déjà suivis :

git add -u

bash
git add -u
  1. Mode de patch interactif (mise en staging des modifications bloc par bloc) :

git add -p

bash
git add -p

Exemples de git add

Les commandes git add et git commit sont utilisées pour créer un commit initial du répertoire courant, ainsi que pour enregistrer les modifications apportées aux fichiers existants.

Après avoir démarré un projet, vous pouvez ajouter de nouveaux fichiers en passant leur chemin à git add.

Ajouter un fichier

bash
git add hello.py

Valider les modifications

bash
git commit

Mode interactif

Une session de staging interactive vous permet de choisir des parties d'un fichier à ajouter au prochain commit. Un bloc de modifications vous sera affiché et une commande vous sera demandée. Les options disponibles sont :

  • y - mettre le bloc en staging
  • n - ne pas mettre le bloc en staging
  • q - quitter ; ne pas mettre le bloc en staging ni aucun des suivants
  • a - mettre le bloc en staging ainsi que tous les blocs suivants dans le fichier
  • d - ne pas mettre le bloc en staging ni aucun des blocs suivants dans le fichier
  • g - sélectionner un bloc vers lequel aller
  • / - rechercher un bloc correspondant à l'expression régulière donnée
  • j - aller au bloc suivant
  • J - aller au bloc précédent
  • k - aller au bloc précédent
  • K - aller au bloc précédent non décidé
  • s - diviser le bloc actuel en blocs plus petits
  • e - modifier manuellement le bloc actuel
  • ? - afficher l'aide

Modification des patches

L'appel de git add -e ou la sélection de e dans le sélecteur de blocs interactif ouvre un patch dans votre éditeur. Après avoir quitté l'éditeur, la sortie est appliquée à l'index. Vous pouvez apporter des modifications arbitraires au patch, mais certaines modifications peuvent entraîner des sorties complexes ou même rendre le patch inapplicable. Si vous souhaitez annuler l'opération entièrement, supprimez simplement toutes les lignes du patch. Voici quelques éléments courants que vous pouvez voir dans un patch, et les opérations de modification qui leur correspondent.

Les lignes commençant par + représentent le contenu ajouté. Vous pouvez les supprimer pour empêcher la mise en staging de ces lignes ajoutées.

Les lignes commençant par - représentent le contenu supprimé. Pour empêcher la mise en staging de leur suppression, vous pouvez remplacer le - par un espace ().

Le contenu modifié est affiché avec des lignes - (suppression de l'ancien contenu) suivies de lignes + (ajout du contenu de remplacement). Pour empêcher la mise en staging de la modification, convertissez les lignes - en espaces et supprimez les lignes +. Notez que la modification d'une seule moitié de la paire peut entraîner des modifications confuses de l'index.

Pratique

Quelles sont les fonctionnalités et options associées à la commande 'git add' ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.