Sinossi
git rev-parse [<options>] <arg>...
Descrizione
Il comando git rev-parse risolve riferimenti e argomenti Git. Trasforma nomi simbolici (branch, tag, HEAD~3, HEAD@{yesterday}) in SHA di 40 caratteri, normalizza opzioni e risponde a domande introspettive sul repository corrente (path top-level, directory Git, se siamo in un worktree). È il coltellino svizzero dello scripting Git.
Nell'uso quotidiano, git rev-parse si integra con alias e CI.
Capire il modello dati di Git aiuta a prevedere i risultati.
Quando usarlo
Vedrai git rev-parse in quasi ogni script shell che avvolge Git: per ottenere il nome del branch corrente, la root del repo o per validare che un argomento sia un commit valido. La maggior parte degli utenti non lo esegue direttamente quotidianamente, ma la conoscenza di esso migliora drasticamente la fluidità dello scripting Git.
Opzioni comuni
| Opzione | Descrizione |
|---|---|
--abbrev-ref | Stampa il nome ref corto (es. main, non refs/heads/main). |
--short | Output dello SHA abbreviato. |
--show-toplevel | Stampa il path assoluto della root del repo. |
--git-dir | Stampa il path assoluto di .git. |
--is-inside-work-tree | Risposta sì/no script-friendly. |
--verify | Valida che l'argomento sia un ref reale. |
--quiet | Sopprime l'output di errore. |
Esempi
git rev-parse HEAD
# SHA completo del commit corrente
git rev-parse --abbrev-ref HEAD
# Nome del branch corrente (o "HEAD" se detached)
git rev-parse --show-toplevel
# Path alla root del repo, utile negli script
git rev-parse --verify origin/main >/dev/null && echo OK
# Testa se un ref esiste
Errori comuni
Usare git rev-parse su input utente senza --verify può riuscire per argomenti ambigui e produrre risultati sorprendenti. Nei subshell, --show-toplevel è un'ancora più affidabile di $PWD.
Comandi correlati
git symbolic-ref, git rev-list, git for-each-ref, git config