J'ai besoin d'une commande de plomberie pour imprimer le message de validation d'un commit donné - rien de plus, rien de moins.
J'ai besoin d'une commande de plomberie pour imprimer le message de validation d'un commit donné - rien de plus, rien de moins.
Réponses:
Ce n'est pas de la "plomberie", mais ça fera exactement ce que vous voulez:
$ git log --format=%B -n 1 <commit>
Si vous avez absolument besoin d'une commande "plomberie" (vous ne savez pas pourquoi c'est une exigence), vous pouvez utiliser rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
Bien rev-list
qu'imprimera également le commit sha (sur la première ligne) en plus du message de commit.
%s%b
place de %B
(sur une boîte Linux)
%B
est un spécificateur correct (au moins, dans Git 1.7.2, je ne sais pas quand il a été ajouté).
%B
a été ajouté quelque temps après la 1.7.1 (probablement en 1.7.1.1).
$ git log --format=%B -n 1 <commit> | cat -
Cela vous donnera le message de validation et pas de validation sha, et vous pouvez le "pipe". J'utilise en fait cela dans le cadre de mon script CI.
git show
est plus une commande de plomberie que git log
, et a les mêmes options de formatage:
git show -s --format=%B SHA1
%s
place de %B
.
Pas de plomberie, mais je les ai 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 une validation pour obtenir le résumé ou le message de cette validation. (J'utilise 1.7.0.5 donc je n'ai pas% B.)
Cela vous donnera une liste très compacte de tous les messages pour une heure spécifiée.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
J'ai commencé à utiliser
git show-branch --no-name <hash>
Cela semble être plus rapide que
git show -s --format=%s <hash>
Les deux donnent le même résultat
git show -s --oneline <commit>