Meilleure façon d'obtenir un GIT commit message par court de hachage?
Hé les gars, je suis actuellement à l'obtention de mon message de commit pour un certain commettre hachage en utilisant ce ci-dessous
hash='b55da97'
git log --pretty=oneline ${hash} | grep "${hash}" | awk '{ print $2 }'
Ces semble extrêmement inefficace si, est-il plus intelligente, moins cher façon de le faire, ou suis-je coincé avec grepping et awking?
Vous êtes déjà très proche, juste de limiter la sortie à 1 s'engager et utiliser un autre --jolie:
plus un pour votre commentaire, et +1 et accepté si vous voulez poster cela comme une réponse.
git log -n 1 --pretty=format:%s $hash
plus un pour votre commentaire, et +1 et accepté si vous voulez poster cela comme une réponse.
OriginalL'auteur ehime | 2013-11-05
Vous devez vous connecter pour publier un commentaire.
git log
faut (entre autres choses):-n num
de limiter le nombre de commits montré: choisissez 1 (et sinum
est de 9 ou moins, vous pouvez simplement écrire-num
, par conséquent,-1
, pour faire court)--pretty=format:string with directives
de modifier le journal le format de sortie. Le%s
directive obtient le commettre "sujet", qui est ce que vous obtenez également aveconeline
.Donc:
git log -n 1 --pretty=format:%s $hash
(ougit log -1 --pretty=format:%s
) fera l'affaire ici.Pour une liste complète des directives de format, voir la la commande git log de la documentation, en vertu de la "JOLIE FORMATS" (environ la moitié).
OriginalL'auteur torek
En fonction de la quantité du message de commit que vous voulez vraiment, il y a plusieurs jolies-spécificateurs de format que vous pouvez utiliser:
Donc quelque chose comme
git log -1 --pretty=format:%b <hash>
, ou utiliser l'une des autres prescripteurs (je pense que%s
est probablement plus proche de ce que vous faites aujourd'hui). Le-1
limitesgit log
juste l'un commit, plutôt que la marche de l'histoire de l'arbre.OriginalL'auteur twalberg
J'aime avoir les choses importantes sous-évaluées sur une seule ligne... Voici ce que j'utilise, construit à partir des réponses sur cette page:
git_log_for_commit.sh
de sortie
OriginalL'auteur Brad Parks
Cela risque de court-il certains
OriginalL'auteur Jotne