Bagaimana cara membaca komentar komit terakhir?

401

Sering selama komit ( $ git -commit -m ""), saya ingin membaca komentar terakhir saya untuk mengingat kemajuan apa yang telah saya buat. Apakah ada cara mudah untuk langsung mengakses pesan komit terakhir melalui baris perintah? (Saya menggunakan Windows.)

whamsicore
sumber
6
Jika ini adalah tindakan biasa, buatlah alias(misalnya wherewasi;-) untuk solusi / baris perintah yang Anda pilih. Anda dapat memasukkan info cabang juga.
Philip Oakley

Jawaban:

756
git show

adalah yang tercepat untuk mengetik, tetapi juga menunjukkan diff kepada Anda.

git log -1

cepat dan sederhana.

git log -1 --pretty=%B

jika Anda hanya perlu pesan komit dan tidak ada yang lain.

CB Bailey
sumber
2
format% B adalah apa yang saya perlukan untuk tidak membuat indentasi pesan. Dan ya, @ Ya ampun, meskipun git gui tidak linewrap untuk Anda, itu ide yang baik untuk menggunakan teks 80 kolom dalam pesan komit, bukan baris per paragraf.
Peter Cordes
4
@ Juh_ Anda dapat menampilkan seluruh pesan dengan menggunakan git log -1 --pretty=%B | cat, tetapi seperti kata Peter, Anda harus mencoba menyimpannya hingga 80 karakter.
Ruckus T-Boom
3
@ Juh_ ini agak terlambat tetapi jika Anda ingin pesan komit untuk dibungkus, cukup pipa output ke cat yaitu:git log -1 --pretty= | cat
kosgeinsky
8
Seseorang yang mencari informasi lebih lanjut tentang persen-penampung, lihat: kernel.org/pub/software/scm/git/docs/… (gulir ke bawah ke format:<string>).
imme
3
Jika Anda menambahkan format:awalan ke %Bseperti yang disarankan dalam man docs, itu tidak akan menampilkan garis kosong tambahan di akhir output:git log -1 --pretty=format:%B
Mariano Ruiz
84

Umumnya:

git log -n

akan menampilkan npesan komit terakhir kepada Anda

Lebih elegan - jika Anda ingin ikhtisar cepat dari komitmen Anda

git log --oneline -n

Ini akan Tampilkan hanya baris pertama dari npesan komit terakhir .

Anda dapat menyimpan ini sebagai alias git atau alias shell dengan perintah yang lebih pendek. Saya mendapatkannya di shell saya sebagai glog, misalnya, dan saya dapat melihat 10 pesan komit terakhir saya glog -10.

Abizern
sumber
23

git log -1akan menampilkan pesan komit terbaru atau git log -1 --onelinejika Anda hanya ingin sha1 dan pesan komit terkait ditampilkan.

Gregory Pakosz
sumber
Bagaimana dengan yang sama dalam lincah?
Nevin Raj Victor
14

Kamu bisa menggunakan

git show -s --format=%s

Di sini --formatmengaktifkan berbagai opsi pencetakan, lihat dokumentasi di sini . Secara khusus, %sberarti 'subjek'. Selain itu, -ssingkatan --no-patch, yang menekan konten diff.

Saya sering menggunakan

git show -s --format='%h %s'

di mana %hmenunjukkan hash pendek dari commit

Cara lain adalah

git show-branch --no-name HEAD

Tampaknya berjalan lebih cepat daripada cara lain.

Saya sebenarnya menulis alat kecil untuk melihat status semua repos saya. Anda dapat menemukannya di github .

tidak
sumber
IMO ini lebih baik daripada jawaban yang diterima untuk banyak komit. Itu tidak menghasilkan linebreak yang tidak perlu bagi saya. Beberapa komit (yaitu melewati 5) dapat ditunjukkan dengan menyertakan -5, yaitugit show -s --format=%s -5
Sigmatics
10

git log -1 branch_name akan menampilkan pesan terakhir dari cabang yang ditentukan (mis. belum tentu cabang tempat Anda berada sekarang).

CJ Dennis
sumber
7

Untuk sesuatu yang sedikit lebih mudah dibaca, jalankan perintah ini sekali:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

sehingga saat Anda menjalankan:

git lg

Anda mendapatkan pembacaan yang bagus. Untuk hanya menampilkan baris terakhir:

git lg -1

Solusi ditemukan di sini

sungiant
sumber
4

Memulai dengan git log -1 --pretty='%s'

Tapi yang di bawah ini mencakup semua kasus,

git log --pretty='format:%Creset%s' --no-merges -1

  • Tidak ada ruang putih yang tidak diinginkan
  • Buang komitmen gabungan
  • Tanpa komit, tanggal, Hanya menampilkan pesan.

Tempel & lihat sendiri

nehem
sumber
3

Saya melakukan ini

git reflog -1 | sed 's/^.*: //'
LukePOLO
sumber
0

Saya baru saja menemukan solusi dengan shell dengan mengambil perintah sebelumnya.

Tekan Ctrl-R untuk memunculkan perintah pencarian terbalik:

reverse-i-search

Kemudian mulai ketikkan git commit -m , ini akan menambahkan ini sebagai perintah pencarian, dan ini membawa git commit sebelumnya dengan pesannya:

reverse-i-search`git commit -m`: git commit -m "message"

Memasukkan. Itu dia!

(diuji dalam shell Ubuntu)

Steve S.
sumber