Vai al contenuto principale

Vedere lo stato della working directory e della staging area

Con git status è possibile vedere lo stato della staging area e della working directory senza l'ausilio di GUI, vediamolo in azione!

Fino ad ora, data anche la dimensione ridotta della working directory siamo andati abbastanza a memoria o con l’ausilio di Visual Studio Code a vedere lo stato dei file nella working directory e nella staging area.

In Git esiste ovviamente un comando che ci permette di vedere da riga di comando lo stato dei file, compresi quelli che sono untracked.

Il comando in questione è:

$ git status

Tutto qui? Più o meno.

L’output di git status

L’output del comando è simile a questo:

# On branch main
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#modified: ciao.txt
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
#modified: hello.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
#lorem.txt

La prima parte ci dice quali sono le modifiche che stanno per essere salvate, quindi presenti in staging area.

La seconda parte ci dice quali sono le modifiche non ancora inserite nella staging area.

Infine la terza parte ci dice quali file risultano untracked.

Ogni parte consiglia tra l’altro i comandi per poter performare delle azioni specifiche:

  • git reset HEAD <file> (equivalente di git rm --cached <file>) per toglierlo dalla staging area
  • git add<file>: per aggiungerlo alla staging area (sia per i modificati che per gli untracked)
  • git checkout -- <file> per scartare le modifiche e ripristinare il file alla versione nella HEAD

Ignorare i file

Per ignorare un file possiamo avvalerci del file .gitignore (da creare nella root folder di progetto) dove possiamo inserire i file e le directory che vogliamo escludere.

Le varie esclusioni devono essere specificate una per riga.

Flag di git status da tenere a mente

Come per gli altri comandi visti in precedenza anche git status ha dei flag da tenere a mente:

  • -s (--short): versione compatta dello stato della working directory
  • --long: versione di default con tutte le info
  • -v (--verbose): se c’è qualcosa nella staging area ci farà vedere le differenze tra ciò che stiamo per salvare e ciò che c’è nella HEAD
  • -u`` (--untracked-files`): mostra i file untracked
    • -uno: non mostra gli untracked
    • -unormal: mostra i file e le directory untracked
    • -uall: come sopra, ma anche tutti i file nelle directory

Conclusioni

Lezione breve a sto giro, passiamo alla prossima dove inizieremo ad esplorare la cronologia delle modifiche con l’ausilio del comando git log.

Unisciti a WebTea

Niente spam. Solo contenuti formativi su Software Engineering.

Ci sono due cose che non ci piacciono: lo spam e il mancato rispetto della privacy. Seleziona come vuoi restare in contatto:

Preferenze di contatto

Usiamo Mailchimp come piattaforma di marketing. Cliccando su iscriviti, accetti la nostra privacy policy e che le tue informazioni vengano trasferite a Mailchimp per l'elaborazione. Termini e Privacy. Puoi disiscriverti in qualsiasi momento.