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:
git showOutput yang Dihasilkan:
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 instalasiKeluarannya 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:
git show --stat HEADOutput yang Dihasilkan:
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
:
git show b1b2ec8Output yang Dihasilkan:
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:
git show 98ebe8eOutput yang Dihasilkan:
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:00:00 2026 +0700
Tandai mulai perapian dokumentasiIsi 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:
git show 462b791:glosarium.mdOutput yang Dihasilkan:
## Glosarium
- commit: catatan satu keadaan proyek
- staging area: keranjang perubahan terpilihgit show HEAD:glosarium.mdOutput yang Dihasilkan:
## Glosarium
- commit: catatan satu keadaan proyek
- staging area: keranjang perubahan terpilih
- repository: wadah riwayat beserta berkasnya
- working tree: salinan berkas yang sedang disuntingBerkas 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:
git show main:README.mdOutput yang Dihasilkan:
# Situs Dokumentasi
Kumpulan catatan teknis tim internal.
Bagian panduan pengguna ditambahkan di halaman utama.
## Referensi
- Pro Git: git-scm.com/bookIsinya 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:
cd ../latihan-cabang
git show main:README.mdOutput yang Dihasilkan:
# Proyek Latihan Cabang
Riwayat untuk latihan grafik commit.git show fitur-berita:README.mdOutput yang Dihasilkan:
# Proyek Latihan CabangSatu 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
.