Pengenalan Branch

Pengenalan Branch 🌿

Branch adalah fitur paling powerful di Git — memungkinkan kamu mengerjakan banyak hal secara bersamaan tanpa saling mengganggu.


Apa itu Branch?

Bayangkan kamu sedang membangun rumah. Branch adalah kemampuan untuk membuat tiruan rumah tersebut, bereksperimen sesukamu (cat ulang dinding, ubah layout), dan jika hasilnya bagus, gabungkan perubahan itu ke rumah asli — tanpa pernah merusak rumah asli selama proses eksperimen.

Dalam Git:

main branch (rumah asli):
A ← B ← C

Buat branch fitur baru:
A ← B ← C           ← main (tidak berubah)
          \
           D ← E    ← feature/navbar (eksperimen di sini)

Mengapa Branch Penting?

Skenario Tanpa Branch Dengan Branch
Kerjakan fitur baru Edit langsung di kode utama — berisiko Buat branch baru, aman
Perbaiki bug darurat Terganggu oleh WIP fitur lain Switch branch dengan mudah
Tim 3 orang Konflik terus-menerus Masing-masing di branch sendiri
Rilis ke produksi Kode WIP ikut terbawa Branch main selalu bersih

Memahami HEAD

HEAD adalah pointer yang menunjuk di mana kamu berada sekarang — commit aktif atau branch aktif:

main: A ← B ← C ← D
                    ↑
                  HEAD
                 (kamu di sini)

Ketika berpindah branch, HEAD berpindah mengikutinya:

git checkout feature/login

main:          A ← B ← C ← D
feature/login:              \
                             E ← F
                                 ↑
                               HEAD
                          (sekarang di sini)

Perintah Dasar Branch

# Lihat semua branch lokal
git branch
# Output:
#   feature/login
# * main          ← tanda * = branch aktif

# Lihat semua branch (lokal + remote)
git branch -a

# Buat branch baru
git branch feature/navbar

# Berpindah ke branch
git checkout feature/navbar
# atau cara modern:
git switch feature/navbar

# Buat branch baru DAN langsung pindah ke sana
git checkout -b feature/navbar
# atau cara modern:
git switch -c feature/navbar

# Hapus branch (sudah di-merge)
git branch -d feature/navbar

# Hapus branch paksa (belum di-merge)
git branch -D feature/navbar

Konvensi Penamaan Branch

Nama branch yang deskriptif memudahkan kolaborasi:

# Untuk fitur baru
git switch -c feature/user-authentication
git switch -c feature/shopping-cart
git switch -c feat/dark-mode

# Untuk perbaikan bug
git switch -c fix/login-crash
git switch -c bugfix/cart-calculation

# Untuk hotfix darurat di produksi
git switch -c hotfix/payment-gateway

# Untuk eksperimen
git switch -c experiment/new-ui

# Untuk rilis
git switch -c release/v2.1.0

Branch Lokal vs Remote

# Branch lokal — hanya ada di komputermu
git branch

# Branch remote — ada di server (GitHub)
git branch -r
# origin/main
# origin/feature/login

# Semua branch
git branch -a

💡 Tips: Biasakan bekerja di branch terpisah untuk setiap fitur atau perbaikan, sekecil apapun. Branch di Git sangat ringan dan murah — tidak ada kerugian membuat banyak branch. Jangan langsung commit ke main! 🌱

Selanjutnya

Informasi Kursus

Kursus

Git Dasar

Kategori

Branching

Durasi Pelajaran

20 menit

Pelajaran dalam Kategori Ini