Verilen bir taahhüdün taahhüt mesajını yazdırmak için bir tesisat komutuna ihtiyacım var - başka bir şey, daha az bir şey.
Verilen bir taahhüdün taahhüt mesajını yazdırmak için bir tesisat komutuna ihtiyacım var - başka bir şey, daha az bir şey.
Yanıtlar:
"Sıhhi tesisat" değil, tam olarak ne istediğinizi yapar:
$ git log --format=%B -n 1 <commit>
Kesinlikle bir "sıhhi tesisat" komutuna ihtiyacınız varsa (bunun neden bir gereksinim olduğundan emin değilseniz) şunları kullanabilirsiniz rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
Her ne kadar rev-list
taahhüt mesajına ek olarak taahhüt sha (ilk satırda) da yazdıracaktır.
%s%b
yerine kullandım%B
%B
doğru bir tanımlayıcıdır (en azından Git 1.7.2'de ne zaman eklendiğinden emin değilsiniz).
%B
1.7.1'den bir süre sonra eklendi (muhtemelen 1.7.1.1'de).
$ git log --format=%B -n 1 <commit> | cat -
Bu size taahhüt mesajı verecektir ve hiçbir taahhüt sha, ve "boru" yapabilirsiniz. Aslında bunu CI betiğimin bir parçası olarak kullanıyorum.
git show
bir tesisat komutudur git log
ve aynı biçimlendirme seçeneklerine sahiptir:
git show -s --format=%B SHA1
%s
yerine kullanın %B
.
Sıhhi tesisat değil, ama .gitconfig dosyamda bunlar var:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
Bu "son özet" ve "son mesaj". Söz konusu taahhüdün özetini veya mesajını almak için bir taahhüt verebilirsiniz. (1.7.0.5 kullanıyorum, bu yüzden% B'ye sahip olmayın.)
Bu, belirli bir süre için tüm mesajların çok kompakt bir listesini verecektir.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
Kullanmaya başladım
git show-branch --no-name <hash>
Daha hızlı görünüyor
git show -s --format=%s <hash>
Her ikisi de aynı sonucu verir
git show -s --oneline <commit>