Chapter git diff membandingkan dua titik, sedangkan git log menampilkan daftar judul. Di antara keduanya ada kebutuhan yang sering muncul: memeriksa satu commit secara menyeluruh — siapa pembuatnya, kapan dibuat, pesannya, dan patch lengkap yang dibawanya. Perintah git show menjawabnya dengan satu panggilan: keluarannya seperti satu entri git log yang disambung patch git diff. Chapter ini membedah keluarannya, lalu memakai bentuk <referensi>:<berkas> untuk membaca isi berkas pada titik riwayat mana pun.

Satu Commit Lengkap #

Tanpa argumen, git show memilih HEAD — commit terakhir:

bash
git show

Output yang Dihasilkan:

text
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Date:   Tue Oct 13 10:10:00 2026 +0700

    Catat perbaikan tautan panduan

diff --git a/CATATAN-RILIS.md b/CATATAN-RILIS.md
index 86db997..4136553 100644
--- a/CATATAN-RILIS.md
+++ b/CATATAN-RILIS.md
@@ -1,3 +1,4 @@
 # Catatan Rilis
 
 - 2026-10-13: rilis perdana dokumentasi
+- 2026-10-13: perbaiki tautan panduan instalasi

Keluarannya terbagi dua bagian. Bagian atas adalah metadata — hash lengkap, baris Author, baris Date, dan pesan commit — persis format entri git log dari chapter sebelumnya. Bagian bawah adalah patch: seluruh baris dari diff --git hingga baris berawalan + memakai format unified diff yang sudah kita bedah di chapter git diff . Hash 44ce6c1 akan berbeda di mesin pembaca.

Bentuk eksplisitnya adalah git show HEAD — keduanya menghasilkan keluaran yang identik karena HEAD memang nilai bawaan argumennya. Kebiasaan menulis HEAD secara eksplisit bermanfaat saat skrip perlu jelas tanpa bergantung pada bawaan.

Ringkasan Tanpa Patch #

Patch dari commit besar bisa memuat ratusan baris. Opsi --stat menggantinya dengan ringkasan:

bash
git show --stat HEAD

Output yang Dihasilkan:

text
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Date:   Tue Oct 13 10:10:00 2026 +0700

    Catat perbaikan tautan panduan

 CATATAN-RILIS.md | 1 +
 1 file changed, 1 insertion(+)

Metadata tetap utuh; hanya bagian patch yang dipadatkan menjadi baris statistik — satu berkas berubah dengan satu baris tambahan. Kombinasi ini pas saat meninjau commit lama yang menyentuh banyak berkas: identitas dulu, baru besar perubahannya, dan patch dibuka hanya bila perlu.

Menampilkan Commit Tertentu #

Argumen posisi mengganti HEAD dengan commit mana pun. Kita ambil commit b1b2ec8 — commit pesan multi-paragraf dari chapter git commit :

bash
git show b1b2ec8

Output yang Dihasilkan:

text
commit b1b2ec81662656f5e226cd2948b4f094a17e8f70
Author: Budi Santoso <[email protected]>
Date:   Tue Oct 13 09:50:00 2026 +0700

    Tambah tanya jawab kontribusi
    
    Bagian FAQ kini menjelaskan cara mulai berkontribusi dokumen.

diff --git a/docs/faq.md b/docs/faq.md
index 7570c2a..cb3c9f0 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -2,3 +2,6 @@
 
 Q: Di mana melihat riwayat perubahan?
 A: Lewat git log.
+
+Q: Bagaimana mulai berkontribusi?
+A: Mulai dari docs/panduan-instalasi.md.

Pesan dua paragrafnya tampil utuh — judul, baris kosong, lalu isi. Perhatikan baris pemisah di antaranya: yang tampil adalah empat spasi, bukan baris benar-benar kosong. Seluruh pesan commit memang menjorok empat spasi pada keluaran git log maupun git show, sehingga baris kosong pemisah paragraf ikut membawa indentasi itu — byte asli keluaran, bukan kesalahan salinan. Sebagai pembanding, commit kosong dari opsi --allow-empty tidak punya bagian patch sama sekali:

bash
git show 98ebe8e

Output yang Dihasilkan:

text
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Date:   Tue Oct 13 10:00:00 2026 +0700

    Tandai mulai perapian dokumentasi

Isi Berkas pada Titik Riwayat Tertentu #

Bentuk <commit>:<berkas> menggeser fokus dari commit ke satu berkas di dalamnya — git show mencetak isi berkas pada titik itu, bukan diff. Kita bandingkan glosarium.md pada dua titik:

bash
git show 462b791:glosarium.md

Output yang Dihasilkan:

text
## Glosarium

- commit: catatan satu keadaan proyek
- staging area: keranjang perubahan terpilih
bash
git show HEAD:glosarium.md

Output yang Dihasilkan:

text
## Glosarium

- commit: catatan satu keadaan proyek
- staging area: keranjang perubahan terpilih
- repository: wadah riwayat beserta berkasnya
- working tree: salinan berkas yang sedang disunting

Berkas yang sama tampil dengan isi berbeda: dua entri pada commit kedua, empat entri pada HEAD. Git membaca blob tersimpan langsung dari database — tidak ada berkas yang diubah atau dipulihkan di working tree. Bentuk ini adalah cara tercepat menjawab “isi berkas ini dulu seperti apa” tanpa git checkout atau memulihkan apa pun.

Nama Branch sebagai Referensi #

Rumus <referensi>:<berkas> tidak terbatas pada hash dan HEAD — nama branch juga diterima:

bash
git show main:README.md

Output yang Dihasilkan:

text
# Situs Dokumentasi

Kumpulan catatan teknis tim internal.
Bagian panduan pengguna ditambahkan di halaman utama.

## Referensi
- Pro Git: git-scm.com/book

Isinya sama dengan git show HEAD:README.md karena branch main memang menunjuk commit yang sama dengan HEAD. Perbedaan baru terasa di repository bercabang dari chapter git log . Dari dalam latihan-cabang:

bash
cd ../latihan-cabang
git show main:README.md

Output yang Dihasilkan:

text
# Proyek Latihan Cabang

Riwayat untuk latihan grafik commit.
bash
git show fitur-berita:README.md

Output yang Dihasilkan:

text
# Proyek Latihan Cabang

Satu nama berkas, dua isi: versi main memuat deskripsi tambahan hasil commit “Perbarui deskripsi proyek”, sedangkan versi branch fitur-berita berhenti pada judul. Referensi lain yang bisa mengisi posisi ini adalah tag — misalnya git show v1.0.0 atau git show v1.0.0:README.md — dan pembahasannya menanti di section Tags dan Releases .

Metadata, patch, statistik, hingga isi berkas pada titik mana pun — git show membungkus semuanya dari database objek yang dibahas pada section Internals dan Performa . Daftar bentuk lengkapnya terdokumentasi pada dokumentasi git show . Perintah-perintah inti section ini kini lengkap; satu hal terakhir yang perlu dilatih sebelum melangkah ke section berikutnya: mencari jawaban sendiri langsung dari Git lewat git help .