Lewati ke konten utama

F3 · Modul 10

Git: cabang dan penggabungan

49 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Cabang adalah ref berisi nama satu commit; HEAD menunjuk cabang yang sedang dipakai, dan commit baru memajukan cabang itu.
  • Maju cepat hanya menggeser penunjuk; penggabungan tiga arah membandingkan kedua sisi dengan basis gabung (leluhur bersama terbaik) dan membuat commit berinduk dua.
  • Konflik berarti kedua sisi mengubah bagian yang sama secara berbeda: baca ketiga versi, tulis isi yang benar, git add, periksa, commit; git merge --abort adalah pintu darurat.
  • Rebase dan cherry-pick membuat commit baru bernama baru, jadi jangan menulis ulang riwayat yang sudah dibagikan; reflog menyelamatkan commit yang "hilang".

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: menjelaskan cabang sebagai penunjuk ke commit; membuat dan berpindah cabang dengan git branch dan git switch; membedakan penggabungan maju cepat (fast-forward) dari penggabungan tiga arah; menjelaskan basis gabung (leluhur bersama terbaik) dan riwayat bersilang; membaca penanda konflik, gaya diff3, dan tiga tahap indeks, lalu menyelesaikan konflik tanpa membuang pekerjaan siapa pun; memakai rebase dan cherry-pick serta tahu kapan tidak memakainya; memulihkan commit yang "hilang" lewat reflog; dan menulis sendiri merge_base serta penggabungan tiga arah per baris yang hasilnya sama dengan Git.

Proyek: Perkakas Makmur langkah 10: cabang fitur dan konflik yang diselesaikan di repo perkakas, serta merge_base(induk, a, b) di minigit.py yang dicocokkan dengan git merge-base (kontrak proyek).

Istilah di modul ini (32)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 8 contoh kode
  • 8 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • patok-git.sh
  • minigit.py
  • contoh_f3_10_140.py
  • contoh_f3_10_528.py
  • contoh_f3_10_910.py
  • contoh_f3_10_1732.py
  • contoh_f3_10_2018.py
  • contoh_f3_10_2489.py
  • contoh_f3_10_2554.py
  • contoh_f3_10_2579.py
  • test_f3_10_1.py
  • test_f3_10_2.py
  • test_f3_10_4.py
  • test_f3_10_3.py
  • test_f3_10_6.py
  • test_f3_10_7.py
  • test_f3_10_5.py
  • test_f3_10_8.py