Bagaimana cara menunjukkan komit?

265

Cara bodoh yang saya tahu adalah:

git diff commit-number1 commit-number2

ada cara yang lebih baik?

Maksud saya, saya ingin mengetahui commit1 itu sendiri, saya tidak ingin menambahkan commit2 sebelumnya sebagai parameter.

Sam Liao
sumber
14
Meskipun "git show <commit>" adalah solusi yang tepat, Anda dapat menggunakan "git diff <commit> ^!" untuk mendapatkan perbedaan antara komit dan induknya (pertama). Lihat man git-rev-parse (1) untuk detailnya.
Jakub Narębski
Alat peraga ke @ Yakub: git diff <commit>^!adalah jawabannya, IMHO. Itu yang Anda lihat dalam tampilan komit di github.com
Chris

Jawaban:

63

Apakah

$ git log -p

lakukan apa yang kamu butuhkan?

Lihatlah bab tentang Git Log di Buku Komunitas Git untuk lebih banyak contoh. (Atau lihat dokumentasi .)

Update: Seperti yang orang lain ( Jakub dan Bombe ) sudah tunjukkan: meskipun di atas berfungsi, git show sebenarnya adalah perintah yang dimaksudkan untuk melakukan persis apa yang diminta.

Mark van Prapaskah
sumber
51

TL; DR

git show <commit>


Menunjukkan

Untuk menunjukkan apa yang dilakukan komit dengan statistik:

git show <commit> --stat

Catatan

Untuk menampilkan log komit dengan perbedaan yang diperkenalkan untuk setiap komit dalam rentang:

git log -p <commit1> <commit2>

Apa <commit>?

Setiap komit memiliki id unik yang kami rujuk di sini sebagai <commit>. Id unik adalah hash SHA-1 - sebuah checksum dari konten yang Anda simpan plus header. #TMI

Jika Anda tidak tahu <commit>:

  1. git loguntuk melihat riwayat commit

  2. Temukan komit yang Anda pedulikan.

Geoffrey Hale
sumber
22

Saya menemukan bahwa "git show --stat" adalah yang terbaik dari semuanya di sini, memberi Anda ringkasan singkat dari commit, file apa yang Anda tambahkan dan modifikasi tanpa memberi Anda banyak hal, terutama jika Anda mengubah banyak file .

Harvey Lin
sumber
6

Ini salah satu cara yang saya tahu. Dengan git, sepertinya selalu ada lebih dari satu cara untuk melakukannya.

git log -p commit1 commit2
INFORMASI 1800
sumber