Il comando git status mostra lo stato attuale della working directory e della staging area, permettendo, quindi, di vedere quali file modificati sono stati aggiunti alla staging area, quali file modificati non sono stati aggiunti alla staging area e quali file non sono tracciati nel repository.
L’output di git status è uno dei più ricchi di informazioni tra i comandi di Git. Offre, infatti, indicazioni su quali altri comandi utilizzare per spostare le modifiche tra i vari stati:
$ git status On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: 001-working-locally/02-save-changes.md Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: 001-working-locally/02-save-changes.md modified: 001-working-locally/03-query-status.md Untracked files: (use "git add <file>..." to include in what will be committed) preview.html
In questo caso ci dice che:
- alcune modifiche al file 02-save-changes.md sono nella staging area
- alcune modifiche allo stesso file 02-save-changes.md sono solo nella working area
- tuttle le mofifiche al file 03-query-status.md sono nella working area
- il file preview.html è ancora untracked
Vedremo in seguito come git status ci permette di sapere lo stato di avanzamento di alcune operazioni avanzate come il rebase, sempre fornendo il comando da eseguire per procedere o tornare indietro.