Branching: Dunia Paralel 🌿
Branching adalah fitur terkuat di Git. Ini membiarkan lo bikin Copy dari kodingan utama, ngacak-ngacak copy-an itu sepuasnya, tanpa ganggu kodingan asli.
Ibarat lo punya dokumen Word, terus lo "Save As" jadi Revisi-1.docx. Dokumen asli aman, dokumen revisi bebas dicoret-coret.
1. Konsep Utama: main 🌳
Secara default, lo ada di branch bernama main (dulu namanya master).
Ini adalah Jalur Suci. Kodingan di sini harus selalu bersih, bebas error, dan siap dipakai user.
JANGAN PERNAH ngoding fitur baru langsung di main. Haram hukumnya.
2. Membuat Branch Baru (checkout -b) 🌱
Mau bikin fitur Login? Bikin dunia baru dulu.
# Rumus: git checkout -b nama-branch-baru
git checkout -b fitur-login-
-bartinya Branch Baru. -
Sekarang lo udah pindah ke dunia fitur-login.
-
Apapun file yang lo hapus atau edit di sini, GAK BAKAL ngerubah apa-apa di main.
3. Pindah Antar Dunia (checkout) 🔀
Misal fitur login belum kelar, tapi lo mau balik ngecek kondisi di main.
# Balik ke main
git checkout mainPas lo ketik ini, liat file di VS Code lo. File-file fitur login tadi bakal HILANG sejenak. Jangan panik, itu disimpan di dimensi lain.
Mau lanjut ngerjain login?
# Balik ke fitur-login (Gak pake -b karena udah dibuat)
git checkout fitur-login4. Menggabungkan (Merge) 🤝
Oke, fitur Login udah kelar, udah di-test, dan aman. Sekarang saatnya masukin perubahan di fitur-login ke dalam main.
Langkahnya:
- Balik dulu ke tujuan (main):
git checkout main- Tarik kodingan dari branch lain:
git merge fitur-loginSekarang main lo udah punya fitur login terbaru. Branch fitur-login boleh dihapus kalau udah gak kepake.
5. Pull Request (Cara Kerja Tim) 🏢
Di dunia kerja, kita jarang pake git merge manual di laptop kayak di atas. Kita pake Pull Request (PR) di GitHub.
- Lo push branch
fitur-loginke GitHub.
git push origin fitur-login-
Buka website GitHub repo lo.
-
Klik tombol "Compare & Pull Request".
-
Minta temen lo review. Kalau oke, klik tombol hijau "Merge Pull Request" di website.
Kenapa lewat GitHub? Biar ada yang ngecek kodingan lo sebelum masuk ke main. Siapa tau lo lupa hapus console.log atau ninggalin bug fatal.