Trova commit per hash SHA in Git


273

Devo trovare un commit in Git da un dato hash, SHA. Ad esempio, se ho l'hash "a2c25061" e ho bisogno di ottenere l'autore e il committer di questo commit.

Qual è il comando per ottenerlo?

Risposte:


405

Usa semplicemente il seguente comando

git show a2c25061

20
Anche buono sarà git log a2c25061 -n 1. Mostrerà solo le informazioni sul commit, senza diff.
Hauleth

54
git show a2c25061 --statfunziona allo stesso modo ed è più facile da ricordare
mvp

Fuori tema, ma può essere molto utile per coloro che cercano di controllare un commit tramite hash, senza sapere ad esempio su quale ramo è stato creato un vecchio commit, semplicemente usandogit checkout a2c25061
MahNas92

62
git log -1 --format="%an %ae%n%cn %ce" a2c25061

La sezione Pretty Formats della git showdocumentazione contiene

  • format:<string>

Il format:<string>formato consente di specificare quali informazioni si desidera mostrare. Funziona un po 'come il formato printf, con la notevole eccezione che ottieni una nuova riga con %ninvece di \n...

I segnaposto sono:

  • %an: nome dell'autore
  • %ae: email dell'autore
  • %cn: nome del committer
  • %ce: email del committer

non direttamente correlato alla domanda, ma forse vale la pena menzionare che %sti dà il messaggio di commit
Michael Lihs

13

Ci sono due modi per farlo.

1. fornendo lo SHA del commit che vuoi vedere in git log

git log -p a2c25061

Dove -psta per patch

2. usa git show

git show a2c25061

L'output per entrambi i comandi sarà:

  • il commit
  • l'autore
  • l'appuntamento
  • il messaggio di commit
  • le informazioni sulla patch
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.