Peta dunia

 

EN: Read in English

Dunia 10: Git Mendalam

Cari dalam sejarah

Anda akan belajar: cara cari bila teks berubah, di mana ia sekarang, dan siapa sentuh setiap baris.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Pelanggan tanya: “Bila harga RM10 mula muncul?” Lima commit (titik simpan), tiga orang. Baca setiap perubahan ambil masa lama. Apa cara lebih pantas?

Pilih satu jawapan.

Tengok

git log -S TODO senaraikan dua commit: Fix the footer phone, yang buang TODO, dan Add a footer, yang tambah TODO. Output terminal: $ git log -S "TODO" --oneline 3698351 (HEAD -> main) Fix the footer phone ef9368a Add a footer

git log -S "TODO" cari commit yang tambah atau buang teks itu. Orang panggil ia pickaxe (log -S): Carian untuk commit yang tambah atau buang sesuatu teks. (beliung). Di sini, satu commit tambah TODO dan satu lagi buang.

Cuba

Giliran anda. Commit mana yang tambah “RM10”?

Tengok

git grep cari dalam fail yang Git jejak, seperti keadaannya sekarang. -n tambah nombor baris.

Ketik padanan dalam fail gaya (stylesheet).

~/shop $ git grep -n footer

0 daripada 1 dijumpai

Tengok

git blame index.html: baris 1 daripada You, baris 2 daripada Aisyah, baris 3 daripada Aisyah. Setiap baris ada id commit dan tarikh. Output terminal: $ git blame index.html ^dd18cc9 (You 2026-10-30 09:01:00 +0800 1) <h1>Kedai Kancil</h1> 25f6b067 (Aisyah 2026-10-30 09:02:00 +0800 2) <p>Price: RM10</p> 36983518 (Aisyah 2026-10-30 09:05:00 +0800 3) <footer>Call 03-1234 5678</footer>

git blame tunjuk siapa ubah setiap baris kali terakhir, dan dalam commit mana. Ia untuk cari konteks, bukan untuk salahkan orang!

Teka

blame: Tunjuk siapa ubah setiap baris fail kali terakhir, dan dalam commit mana. kata Aisyah yang terakhir ubah baris footer. Adakah Aisyah yang tambah footer itu?

Pilih satu jawapan.

Semak

Alat mana paling sesuai untuk setiap soalan?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

        Tengok

        git shortlog -sn HEAD kira commit setiap orang: Aisyah 2, Ben 2, You 1. Output terminal: $ git shortlog -sn HEAD 2 Aisyah 2 Ben 1 You

        git shortlog -sn kira commit setiap orang, yang paling banyak dulu. Berguna untuk nota terima kasih dalam keluaran anda.

        Anda berjaya!

        Kini anda boleh cari bila, di mana dan siapa dalam sejarah.

        Nak tahu lebih (pilihan)

        git log -G "regex" padankan mana-mana baris yang berubah, bukan sekadar teks yang ditambah atau dibuang. git log --author=Ben tunjuk commit seorang sahaja. git log --grep=footer cari dalam mesej. Tambah -p untuk tengok setiap perubahan. git blame -L 2,3 fail tengok baris 2 hingga 3 sahaja.

        Ben buat Style the footer dan Add a footer. Tiga mesej commit sebut footer. Output terminal: $ git log --author=Ben --oneline 05038e4 Style the footer ef9368a Add a footer $ git log --grep=footer --oneline 3698351 (HEAD -> main) Fix the footer phone 05038e4 Style the footer ef9368a Add a footer