Zone de staging
Lorsque l'on souhaite créer un commit pour enregistrer des modifications, on ne souhaite pas forcément enregistrer toutes les modifications d'un seul coup.
On va donc indiquer quels fichiers enregistrer en les ajoutant à la zone de staging (ou staging area, index) puis on créera le commit.
Ajouter à la zone de staging
On utilisera la commande add
suivi d'une ou plusieurs expressions:
Ajouter un fichier ou un dossier entier
git add file.txt
git add src
Ajouter plusieurs éléments en même temps:
git add file.txt src
Ou ajouter les modifications de tout le projet:
git add .
Note: Le symbole
.
désigne le dossier actuel, ce n'est pas une commande spéciale de Git.
Vérifier les changements
Pour avoir une vue d'ensemble sur ses modifications, utiliser la commande status
qui listera:
- les fichiers ajoutés au staging en vert sous
Changes to be commited
- les fichiers modifiés qui n'ont pas été ajouté au staging en rouge sous
Changes not staged for commit
- les nouveaux fichiers qui n'ont pas été ajoutés au staging en rouge sous
Untracked files
git status
[output]On branch master
[output]Changes to be committed:
[output] (use "git restore --staged <file>..." to unstage)
[output] modified: README.md
[output]
[output]Changes not staged for commit:
[output] (use "git add <file>..." to update what will be committed)
[output] (use "git restore <file>..." to discard changes in working directory)
[output] modified: src/index.php
[output]
[output]Untracked files:
[output] (use "git add <file>..." to include in what will be committed)
[output] file.txt
Note: Lors de certaines opérations, il est possible d'avoir une section encore différente "Unmerged paths". Elle permet d'indiquer où se situent des conflits lors de mise en commun de multiples modifications.
Retirer de la zone de staging
Pour retirer un fichier du staging, utiliser la commande reset
:
git reset src/index.php
[output]Unstaged changes after reset:
[output]M src/index.php
Ou ne passer aucun argument pour réinitialiser le staging:
git reset
[output]Unstaged changes after reset:
[output]M README.md
[output]M src/index.php: