Préparation des fichiers pour un commit dans Git
Suivre les fichiers n'est que la moitié
du travail. Nous devons également indiquer à Git
à quel moment mémoriser l'état
d'un fichier pour un commit ultérieur.
Cela se fait également à l'aide de la
commande polyvalente add.
Maintenant, nous allons examiner ce point subtil plus en détail.
Supposons que nous ayons créé un fichier index.html.
Initialement, il sera non suivi :
Untracked files:
index.html
Rendons-le suivi :
git add index.html
Maintenant, il apparaît dans la liste des fichiers préparés pour le commit, en tant que nouveau fichier :
Changes to be committed:
new file: index.html
Modifions maintenant le contenu du fichier. Dans ce cas, le fichier apparaîtra dans la section des modifications non préparées pour le commit, mais cette fois comme modifié :
Changes not staged for commit:
modified: index.html
Qui plus est, ce fichier sera simultanément dans deux sections :
Changes to be committed:
new file: index.html
Changes not staged for commit:
modified: index.html
Comment est-ce possible ? Le fait est que Git enregistre
(indexe) précisément l'état actuel
du fichier. Par état, on entend le contenu actuel
du fichier, ainsi que le fait qu'il soit créé ou supprimé.
Si le fichier est modifié, ses modifications ne seront
pas automatiquement enregistrées (indexées)
dans Git. Pour cela, il faut exécuter à nouveau
la commande add. En fait, cette commande
doit être considérée comme l'ajout
de l'état actuel du fichier au nouveau commit.
C'est précisément pourquoi nous voyons notre fichier dans plusieurs listes - ce sont différentes versions du fichier.
Forçons Git à indexer
l'état actuel de notre fichier index.html,
dans lequel nous avons apporté des modifications.
Exécutons pour lui la commande add :
git add index.html
Après cela, la version actuelle deviendra prête pour le commit et apparaîtra dans la section correspondante :
Changes to be committed:
modified: index.html
Et il faut faire ainsi à chaque fois.
Lorsque vous apportez des modifications à un fichier,
vous devez les indexer
pour le prochain commit à l'aide de
la commande add. Bien sûr,
seulement si vous souhaitez inclure ces
modifications dans le prochain commit.
Créez un nouveau fichier. Indexez votre fichier. Vérifiez le statut.
Apportez une modification à votre fichier. Vérifiez le statut. Indexez votre fichier. Vérifiez le statut.
Apportez à nouveau une modification à votre fichier. Vérifiez le statut. Indexez votre fichier. Vérifiez le statut.