Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git status [-s] [-b] [--porcelain[=<version>]] [--ignored]

Descrizione

Il comando git status visualizza lo stato della working tree e della staging area. Mostra quali file sono in stage per il prossimo commit, quali sono modificati ma non in stage, e quali sono untracked. Riporta anche il branch corrente, se è avanti o indietro rispetto all'upstream e qualsiasi operazione in corso come merge o rebase.

git status è il comando Git più eseguito — è sicuro, veloce e informativo. Usalo costantemente per confermare in quale stato è il tuo repository prima di prendere decisioni. L'output predefinito è amichevole con colori e suggerimenti; l'output --porcelain è stabile, leggibile da macchina e pensato per script.

Nell'uso quotidiano, git status si integra con alias della shell, plugin dell'editor e CI. Per il debug, usa GIT_TRACE=1. git status --help apre la man page completa.

Capire come git status interagisce con il modello dati di Git paga dividendi. La maggior parte dei problemi deriva da: comportamento predefinito sorprendente, operazioni di rete parziali o riscrittura di storia condivisa.

Opzioni comuni

OpzioneDescrizione
-s, --shortVisualizza in formato corto con codici di stato a due caratteri.
-b, --branchMostra info di branch e tracking anche in formato corto.
--porcelainOutput stabile leggibile da macchina per script.
--ignoredMostra anche i file ignorati.
-u <mode>Controlla come i file untracked sono riportati (no, normal, all).
--ahead-behindCalcola conteggi ahead/behind vs upstream.

Esempi

git status
# Status leggibile completo

git status -sb
# Formato compatto con info di branch

git status --porcelain=v2 --branch
# Output stabile per script shell ed editor

git status --ignored
# Include i file corrispondenti a .gitignore

Errori comuni

I principianti a volte vanno nel panico quando git status mostra molti file untracked in un repo appena clonato con artefatti di build. Aggiungi un .gitignore appropriato per filtrarli. Un'altra trappola è parsare l'output predefinito negli script — il formato può cambiare tra versioni e traduzioni. Usa sempre --porcelain per l'automazione. Infine, grandi directory untracked possono rallentare considerevolmente lo status; usa -uno per saltarle.

Comandi correlati

git diff, git log, git add, git stash