Son taahhüt yorumu nasıl okunur?


400

Genellikle bir taahhüt ( $ git -commit -m "") sırasında ne ilerleme kaydettiğimi hatırlamak için son yorumumu okumak istiyorum. Komut satırı üzerinden son işleme iletisine doğrudan erişmenin kolay bir yolu var mı? (Windows'u kullanıyorum.)


6
Düzenli bir işlemse, seçtiğiniz çözüm / komut satırı için bir alias(ör. wherewasi;-) yapın. Şube bilgilerini de ekleyebilirsiniz.
Philip Oakley

Yanıtlar:


755
git show

yazmanın en hızlısıdır, ancak farkı da gösterir.

git log -1

hızlı ve basittir.

git log -1 --pretty=%B

sadece taahhüt mesajına ve başka bir şeye ihtiyacınız yoksa.


2
% B formatı, taahhüt mesajının girintili olmaması için gerekli olan şeydi. Ve evet, @Juh_, git gui sizin için linewrap yapmasa da, paragraf başına satır yerine komut sütunlarında 80 sütun metni kullanmak iyi bir fikirdir.
Peter Cordes

4
@Juh_ Mesajın tamamını kullanarak gösterebilirsiniz git log -1 --pretty=%B | cat, ancak Peter'ın dediği gibi, 80 karakterle kalmaya çalışmalısınız.
Ruckus T-Boom

3
@Juh_ bu biraz geç ama taahhüt mesajı satır sarmak istiyorsanız, sadece çıkış cat ie boru :git log -1 --pretty= | cat
kosgeinsky

8
Yüzde-yer tutucuları hakkında daha fazla bilgi arayan biri için bkz. Kernel.org/pub/software/scm/git/docs/… (aşağı kaydırın format:<string>).
imme

3
Adam dokümanlarında önerilen şekilde format:öneki eklerseniz, %Bçıktının sonunda ekstra boş satırlar gösterilmez:git log -1 --pretty=format:%B
Mariano Ruiz

84

Genellikle:

git log -n

size son işlem nmesajlarını gösterecek

Daha zarif - taahhütlerinize hızlı bir genel bakış istiyorsanız

git log --oneline -n

Bu, son nişleme mesajlarının yalnızca ilk satırını gösterecektir .

Bunu bir git diğer adı veya daha kısa bir komutla kabuk diğer adı olarak kaydedebilirsiniz. glogMesela kabuğumda aldım ve son 10 mesajımı görebiliyorum glog -10.


23

git log -1en son tamamlama mesajını görüntüler veya git log -1 --onelineyalnızca sha1 ve ilişkili tamamlama mesajının görüntülenmesini istiyorsanız.


Mercurial'da aynısı ne olacak?
Nevin Raj Victor

14

Kullanabilirsiniz

git show -s --format=%s

Burada --formatçeşitli yazdırma seçeneklerini etkinleştirir, buradaki belgelere bakın . Özellikle, %s'özne' anlamına gelir. Ek olarak, fark içeriğini baskılayan -sanlamına gelir --no-patch.

Sıklıkla kullanırım

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

burada %htaahhüdün kısa bir karmasını belirtir

Başka bir yol

git show-branch --no-name HEAD

Diğer yoldan daha hızlı koşuyor gibi görünüyor.

Aslında tüm depolarımın durumunu görmek için küçük bir araç yazdım. Github'da bulabilirsiniz .


IMO, birden fazla taahhüt için kabul edilen cevaptan daha iyidir. Benim için gereksiz çizgi kırıkları üretmiyor. Birden fazla işlem (yani son 5) -5 dahil edilerek gösterilebilir, yanigit show -s --format=%s -5
Sigmatics

10

git log -1 branch_name size belirtilen şubedeki son mesajı gösterir (yani şu anda bulunduğunuz şubeyi göstermeyebilir).


7

Daha okunabilir bir şey için bu komutu bir kez çalıştırın:

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"

böylece daha sonra koştuğunuzda:

git lg

güzel bir okuma alırsınız. Yalnızca son satırı göstermek için:

git lg -1

Çözüm burada bulundu


4

Başlangıç ​​olarak git log -1 --pretty='%s'

Ancak aşağıdaki örnek tüm vakaları kapsamaktadır,

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

  • İstenmeyen beyaz boşluk yok
  • Birleştirme taahhütlerini atar
  • Taahhüt kimliği yok, tarih, Yalnızca iletileri görüntüler.

Yapıştırın ve kendiniz görün



0

Ben sadece önceki komutu alarak kabuk ile bir geçici çözüm buldum.

Ters arama komutunu getirmek için Ctrl-R tuşlarına basın :

reverse-i-search

Sonra git command -m yazmaya başlayın , bu bunu arama komutu olarak ekler ve bu da önceki git komutunu iletisiyle birlikte getirir:

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

Giriş. Bu kadar!

(Ubuntu kabuğunda test edilmiştir)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.