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-listtaahhüt mesajına ek olarak taahhüt sha (ilk satırda) da yazdıracaktır.
%s%byerine kullandım%B
%Bdoğru bir tanımlayıcıdır (en azından Git 1.7.2'de ne zaman eklendiğinden emin değilsiniz).
%B1.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 showbir tesisat komutudur git logve aynı biçimlendirme seçeneklerine sahiptir:
git show -s --format=%B SHA1
%syerine 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>