Branch memungkinkan kita mengerjakan perubahan tanpa langsung mengganggu kode utama. Kita bisa membuat jalur pengembangan terpisah untuk fitur, perbaikan bug, atau eksperimen, kemudian menggabungkannya kembali setelah selesai.

Apa Itu Branch?

Branch adalah penunjuk ke suatu commit dalam Git.

Ketika membuat branch baru, Git tidak menyalin seluruh folder project. Git hanya membuat penunjuk baru dari posisi commit yang sedang aktif. Karena itu, proses membuat dan berpindah branch berlangsung cepat.

Sebagai contoh, sebuah project memiliki branch utama bernama main. Ketika ingin membuat fitur login, kita dapat membuat branch baru bernama feature/login.

Perubahan untuk fitur login dikerjakan di branch tersebut tanpa langsung memengaruhi main.

Secara sederhana, pekerjaan dimulai dengan membuat branch dari main. Perubahan dikerjakan dan dikirim melalui branch tersebut, kemudian diperiksa sebelum digabungkan kembali ke main.

Alur-mr.png

Melihat Branch

Gunakan command berikut untuk melihat branch lokal yang tersedia:

git branch

Branch yang sedang aktif akan ditandai dengan simbol *.

Untuk melihat branch lokal dan remote sekaligus:

git branch -a

Membuat Branch Baru

Branch baru dapat dibuat dengan:

git branch feature/login

Command tersebut hanya membuat branch, tetapi belum memindahkan kita ke branch baru.

Cara yang lebih praktis adalah membuat sekaligus berpindah ke branch tersebut:

git switch -c feature/login

Setelah menjalankan command tersebut, commit berikutnya akan tercatat pada feature/login.

Berpindah Branch

Untuk berpindah ke branch yang sudah tersedia:

git switch main

Kemudian kembali ke branch fitur:

git switch feature/login

Sebelum berpindah branch, sebaiknya commit perubahan atau simpan sementara menggunakan git stash. Ini mencegah perubahan yang belum selesai ikut terbawa atau menghalangi proses perpindahan branch.

Untuk menyimpan perubahan sementara:

git stash

Untuk mengembalikannya:

git stash pop

Mengirim Branch ke Remote Repository

Branch yang baru dibuat masih tersimpan di komputer lokal. Agar tersedia di GitHub atau GitLab, kirim branch tersebut ke remote repository:

git push -u origin feature/login

Opsi -u menghubungkan branch lokal dengan branch remote. Setelah itu, push berikutnya cukup menggunakan:

git push

Menggabungkan Branch

Untuk project pribadi atau pengujian lokal, branch dapat digabungkan langsung melalui terminal.

Pindah dahulu ke branch tujuan:

git switch main

Ambil perubahan terbaru dari remote:

git pull

Kemudian gabungkan branch fitur:

git merge feature/login

Pada project tim, perubahan biasanya tidak langsung di-merge melalui terminal. Setelah branch dikirim ke remote repository, developer membuat Pull Request di GitHub atau Merge Request di GitLab.

Perubahan kemudian diperiksa melalui proses review sebelum digabungkan ke main. Cara ini membantu tim menemukan masalah dan mendiskusikan perubahan sebelum kode masuk ke branch utama.

Menghapus Branch

Branch lokal yang sudah selesai dan berhasil digabungkan dapat dihapus:

git branch -d feature/login

Opsi -d hanya menghapus branch yang sudah digabungkan sehingga lebih aman digunakan.

Untuk menghapus branch dari remote repository:

git push origin --delete feature/login

Alur Sederhana Menggunakan Branch

Berikut contoh alur penggunaan branch untuk mengerjakan fitur login:

git switch main
git pull
git switch -c feature/login

Setelah perubahan selesai, simpan ke dalam commit:

git add .
git commit -m "feat: add login feature"

Kemudian kirim branch ke remote repository:

git push -u origin feature/login

Setelah itu, buat Pull Request atau Merge Request. Branch dapat digabungkan ke main setelah perubahan selesai diperiksa.

Command yang Digunakan

Command Fungsi
git branch Melihat branch lokal
git branch -a Melihat branch lokal dan remote
git switch -c feature/login Membuat sekaligus berpindah branch
git switch main Berpindah ke branch main
git push -u origin feature/login Mengirim branch baru ke remote
git merge feature/login Menggabungkan branch secara lokal
git branch -d feature/login Menghapus branch lokal yang sudah digabungkan
git push origin --delete feature/login Menghapus branch dari remote

Penutup

Branch membantu memisahkan setiap pekerjaan agar perubahan lebih terkontrol. Fitur baru, perbaikan bug, dan eksperimen dapat dikembangkan tanpa langsung mengubah branch utama.

Tidak perlu menghafal semua command di awal. Untuk penggunaan dasar, cukup pahami cara melihat, membuat, berpindah, mengirim, menggabungkan, dan menghapus branch.