Git show
Cos'è git-show?
git-show
è un'utilità da riga di comando utilizzata per visualizzare dettagli estesi sugli oggetti Git come blob, alberi, tag e commit. git-show
ha un comportamento specifico per ciascun tipo di oggetto.
I tag mostrano il messaggio di tag e altri oggetti inclusi nel tag. Gli alberi mostrano i nomi e il contenuto degli oggetti di un albero. I blob mostrano il contenuto diretto del blob. I commit mostrano un messaggio di log del commit e un output delle differenze delle modifiche nel commit.
Gli oggetti Git sono tutti accessibili tramite i riferimenti. Per impostazione predefinita, git-show
agisce in base al riferimento HEAD, che punta sempre all'ultimo commit del branch corrente. Pertanto, puoi usare git-show
per visualizzare il messaggio di log e l'output delle differenze dell'ultimo commit.
Opzioni di git-show
<object>…
Può essere trasmesso un riferimento a un oggetto o a una lista di oggetti per esaminare questi oggetti specifici. Se non viene trasmesso alcun oggetto esplicito, git-show
utilizza per impostazione predefinita il riferimento HEAD.
--pretty[=<format>]
L'opzione pretty accetta un valore di formato secondario che può essere uno dei seguenti: oneline, short, medium, full, fuller, email, raw
e format:<string>
. Se omesso, il formato viene configurato su medium
per impostazione predefinita. Ogni opzione di formato rappresenta un modello diverso in base al modo in cui Git formatta l'output del comando show. L'opzione <code>oneline</code> può essere molto utile per mostrare una lista di commit
--abbrev-commit
Questa opzione riduce la lunghezza degli ID dei commit di output. Gli ID dei commit hanno una lunghezza di 40 caratteri e possono essere difficili da visualizzare su schermate del terminale strette. Questa opzione unita a ---pretty=oneline
può produrre un output di git log
molto conciso.
--no-abbrev-commit
Mostra sempre l'ID di commit completo (40 caratteri). Questa opzione ignora --abbrev-commit
e qualsiasi altra opzione che accorci gli ID di commit, come l'opzione --oneline format
materiale correlato
Come spostare un repository Git completo
Scopri la soluzione
Impara a utilizzare Git con Bitbucket Cloud
--oneline
È una scorciatoia del comando espanso --pretty=oneline --abbrev-commit
--encoding[=<encoding>]
La codifica dei caratteri nei messaggi di log di Git è configurata per impostazione predefinita su UTF-8. L'opzione di codifica può essere impostata su un output di codifica dei caratteri diverso. Ciò è utile se si usa Git in un ambiente con una codifica dei caratteri diversa, ad esempio un terminale in lingua asiatica.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Queste opzioni sostituiscono i caratteri di tabulazione con spazi nell'output del messaggio di log. Il valore n
può essere impostato per configurare il numero di caratteri di spaziatura in cui si espandono le tabulazioni. Senza un valore n esplicito, le tabulazioni si espanderanno fino a 8 spazi. --no-expand-tabs
equivale a n=0
--notes=<ref>
--no-notes
Git dispone di un sistema di annotazione che consente di allegare dei metadati "note" arbitrari agli oggetti. Questi dati possono essere nascosti o filtrati quando si usa git-show
.
--show-signature
Questa opzione conferma che al commit è stata apposta una firma crittografata e la trasmette a un sottocomando gpg.
Formati pretty per git-show
L'opzione --pretty
descritta sopra accetta diverse opzioni secondarie per modificare il formato dell'output di git-show
. Queste opzioni secondarie sono elencate di seguito insieme al modello di esempio
- oneline
<sha1> <title line>
Oneline tenta di compattare quante più informazioni possibile in un'unica riga
- short
commit <sha1>
Author: <author>
<title line>
- medium
commit <sha1>
Author: <author>
Date: <author date>
<title line>
<full commit message>
- full
commit <sha1>
Author: <author>
Commit: <committer>
<title line>
<full commit message>
- fuller
commit <sha1>
Author: <author>
AuthorDate: <author date>
Commit: <committer>
CommitDate: <committer date>
<title line>
<full commit message>
- email
From <sha1> <date>
From: <author>
Date: <author date>
Subject: [PATCH] <title line>
<full commit message>
- raw
Il formato raw ignora le altre opzioni di formattazione trasmesse agit-show
e restituisce come output il commit esattamente come è stato archiviato nell'oggetto. Tale formato ignorerà--abrev
e--no-abbrev
e mostrerà sempre i commit principali.
- format:
format consente di specificare un formato di output personalizzato. Funziona in modo simile al comandoprintf
del linguaggio C. L'opzione—pretty=format
accetta un valore secondario di una stringa del modello. Tale modello ha accesso a variabili segnaposto che verranno compilate con i dati dell'oggetto di commit. Questi segnaposto sono elencati di seguito:
• %H: hash di commit
• %h: hash di commit abbreviato
• %T: hash dell'albero
• %t: hash dell'albero abbreviato
• %P: hash principali
• %p: hash principali abbreviati
• %an: nome autore
• %aN: nome autore
• %ae: e-mail autore
• %aE: e-mail autore
• %ad: data autore (il formato rispetta l'opzione --date=)
• %aD: data autore, stile RFC2822
• %ar: data autore, relativa
• %at: data autore, timestamp UNIX
• %ai: data autore, formato ISO 8601
• %cn: nome autore del commit
• %cN: nome autore del commit
• %ce: e-mail autore del commit
• %cE: e-mail autore del commit
• %cd: data autore del commit
• %cD: data autore del commit, stile RFC2822
• %cr: data autore del commit, relativa
• %ct: data autore del commit, timestamp UNIX
• %ci: data autore del commit, formato ISO 8601
• %d: nomi riferimenti, come l'opzione --decorate di git-log(1)
• %e: codifica
• %s: oggetto
• %f: riga oggetto pura, adatta per i nomi di file
• %b: body
• %N: note di commit
• %gD: selettore reflog, ad es. refs/stash@{1}
• %gd: selettore reflog abbreviato, ad es. stash@{1}
• %gs: oggetto reflog
• %Cred: modifica colore su rosso
• %Cgreen: modifica colore su verde
• %Cblue: modifica colore su blu
• %Creset: reimposta colore
• %C(...): specifica del colore, come descritto nell'opzione di configurazione color.branch.* config
• %m: contrassegno sinistra, destra o limite
• %n: nuova riga
• %%: una % raw
• %x00: stampa un byte da un codice esadecimale
• %w([[, : passa a ritorno a capo automatico righe, come l'opzione -w di git-shortlog[, ]]])
Esempi di git-show
git show --pretty="" --name-only bd61ad98
Elenca tutti i file che sono implicati in un commit
git show REVISION:path/to/file
Mostra una versione specifica di un file. Sostituisci REVISION
con un Git sha.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Mostra il tag v2.0.0 ed esegue inoltre il commit su 6ef002d74cbbc099e1063728cab14ef1fc49c783
git show commitA...commitD
Restituisce come output tutti i commit nell'intervallo compreso tra commitA
e commit D
Riepilogo
git-show
è un comando molto versatile per l'analisi degli oggetti in un repository Git. Può essere utilizzato per esaminare file specifici in revisioni specifiche. L'analisi di un intervallo di commit con git-show
restituirà come output tutti i singoli commit compresi in tale intervallo. git-show
può essere uno strumento utile per creare note sulla patch e tenere traccia delle modifiche in un repository.
Condividi l'articolo
Argomento successivo
Letture consigliate
Aggiungi ai preferiti queste risorse per ricevere informazioni sui tipi di team DevOps e aggiornamenti continui su DevOps in Atlassian.