2010-07-28 9 views
136

J'ai besoin d'une commande de plomberie pour imprimer le message de validation d'un commit donné - rien de plus, rien de moins.Imprimer le message de validation d'un commit donné dans git

+1

Si quelqu'un vient ici à la recherche d'un moyen d'imprimer une seule ligne message de validation, mais ne se soucie pas à propos du hachage apparaissant au début, les travaux suivants: 'git show -s --oneline ' – waldyrious

+0

Où devrions-nous ajouter la ligne pour imprimer le message de validation dans la machine serveur? Je voulais dire quel fichier crochet? –

Répondre

182

Ce n'est pas « plomberie », mais ça va faire exactement ce que vous voulez:

$ git log --format=%B -n 1 <commit> 

Si vous avez absolument besoin d'une commande « plomberie » (ne sais pas pourquoi c'est une exigence), vous pouvez utiliser rev-list:

$ git rev-list --format=%B --max-count=1 <commit> 

Bien que rev-list imprimera également la validation sha (sur la première ligne) en plus du message de validation.

+4

Fonctionne parfaitement pour moi - mais j'ai utilisé '% s% b' au lieu de'% B' (sur une machine Linux) – adamk

+15

'% B' est un spécificateur correct (au moins, dans Git 1.7.2, je ne sais pas quand était ajouté). – mipadi

+2

'% B' a été ajouté après 1.7.1 (probablement dans 1.7.1.1). – mipadi

8

la plomberie, mais j'avoir dans mon .gitconfig:

lsum = log -n 1 --pretty=format:'%s' 
lmsg = log -n 1 --pretty=format:'%s%n%n%b' 

C'est "dernier résumé" et "dernier message". Vous pouvez fournir un commit pour obtenir le résumé ou le message de ce commit. (J'utilise la version 1.7.0.5, donc je n'ai pas% B.)

10

Ceci vous donnera une liste très compacte de tous les messages pour n'importe quelle heure spécifiée.

git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT 
79

git show est plus une commande de plomberie que git log, et a les mêmes options de mise en forme:

git show -s --format=%B SHA1 
+9

Et si vous voulez juste la première ligne ("subject"), utilisez ' % s' au lieu de '% B'. – ntc2

+8

(Je préfère ceci à la réponse "log" ou "rev-list" acceptée, car il s'agit d'une opération de validation unique, plutôt que d'une liste restreinte à 1 entrée.) – Rich