Saya memerlukan perintah plumbing untuk mencetak pesan commit dari commit yang diberikan - tidak lebih, tidak kurang.
Saya memerlukan perintah plumbing untuk mencetak pesan commit dari commit yang diberikan - tidak lebih, tidak kurang.
Jawaban:
Ini bukan "plumbing", tetapi itu akan melakukan apa yang Anda inginkan:
$ git log --format=%B -n 1 <commit>
Jika Anda benar-benar membutuhkan perintah "ledeng" (tidak yakin mengapa itu persyaratan), Anda dapat menggunakan rev-list:
$ git rev-list --format=%B --max-count=1 <commit>
Meskipun rev-listjuga akan mencetak komit sha (di baris pertama) di samping pesan komit.
%s%bsebagai ganti %B(pada kotak Linux)
%Badalah specifier yang benar (setidaknya, di Git 1.7.2, tidak yakin kapan ditambahkan).
%Bditambahkan sekitar 1,7.1 (mungkin dalam 1.7.1.1).
$ git log --format=%B -n 1 <commit> | cat -Itu akan memberi Anda pesan komit dan tidak ada komit, dan Anda dapat "menyalurkan" itu. Saya sebenarnya menggunakan ini sebagai bagian dari skrip CI saya.
git showlebih merupakan perintah plumbing daripada git log, dan memiliki opsi format yang sama:
git show -s --format=%B SHA1
%ssebagai ganti %B.
Bukan pipa ledeng, tapi saya punya ini di .gitconfig saya:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
Itu "ringkasan terakhir" dan "pesan terakhir". Anda dapat memberikan komit untuk mendapatkan ringkasan atau pesan dari komit itu. (Saya menggunakan 1.7.0.5 jadi tidak memiliki% B.)
Ini akan memberi Anda daftar yang sangat ringkas dari semua pesan untuk waktu tertentu.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
Saya mulai menggunakan
git show-branch --no-name <hash>
Tampaknya lebih cepat daripada
git show -s --format=%s <hash>
Keduanya memberikan hasil yang sama
git show -s --oneline <commit>