Konsep Branching Git (git branch)

Konsep Branching Git (git branch)

Pelajari apa itu branch (cabang) di Git, mengapa sangat penting untuk alur kerja modern, dan bagaimana cara membuat, melihat, serta mengelola branch menggunakan perintah `git branch`.

Bikin "Jalur Eksperimen" Aman: Kenalan Sama Cabang (Branch) di Git!

Bayangin kamu lagi ngerjain proyek website. Fitur utama udah jadi dan stabil. Terus, kamu pengen nyoba nambahin fitur baru yang agak gede dan berisiko, atau mau benerin bug yang rumit. Kamu pasti gak mau kan kalau eksperimenmu itu malah ngerusak kode utama yang udah bagus?

Nah, di sinilah Branch (Cabang) di Git datang sebagai pahlawan! Branching itu salah satu fitur paling keren dan paling sering dipake di Git. Dia ngebolehin kamu buat bikin "jalur pengembangan" atau "lini waktu" yang terpisah dan independen dari jalur utama kodemu.

Apa Itu Branch di Git? Analogi Sederhana

Pikirin aja proyekmu itu kayak batang utama sebuah pohon. Setiap commit yang kamu buat itu nambahin "cincin pertumbuhan" di batang itu.

Nah, branch itu kayak kamu numbuhin cabang baru dari batang utama itu. Di cabang baru ini, kamu bisa:

  • Nambahin "daun" dan "ranting" baru (bikin fitur baru, nulis kode eksperimental).
  • Motong ranting yang jelek (benerin bug).
  • Semua perubahan yang kamu lakuin di cabang baru ini gak bakal langsung ngaruh ke batang utama (atau ke cabang-cabang lain). Jadi, batang utama tetep aman dan stabil.
  • Kalau eksperimen di cabang baru itu udah berhasil dan bagus, kamu bisa "nyambungin" atau "ngegabungin" (merge) cabang itu balik lagi ke batang utama.

Secara teknis: Branch di Git itu sebenernya cuma sebuah penunjuk (pointer) ringan yang bisa dipindah-pindah ke salah satu commit. Jadi, bikin branch itu cepet banget dan gak makan banyak resource.

Kenapa Branching Itu Penting Banget?

  1. Pengembangan Fitur Baru yang Aman: Kamu bisa bikin branch khusus buat ngerjain fitur A, sementara tim lain ngerjain fitur B di branch lain, dan branch utama (main) tetep stabil buat rilis. Gak ada lagi "adu cepat" ngedit file yang sama secara serampangan.
  2. Bug Fixing yang Terisolasi: Kalau ada bug di versi rilis, kamu bisa bikin branch khusus buat benerin bug itu tanpa keganggu sama pengembangan fitur baru yang lagi jalan.
  3. Eksperimen Tanpa Takut: Pengen nyoba teknologi baru atau ide gila? Bikin aja branch baru! Kalau berhasil, bisa digabung. Kalau gagal, ya udah tinggal hapus branch-nya, kode utama aman.
  4. Alur Kerja (Workflow) yang Lebih Teratur: Banyak tim pake workflow berbasis branch (kayak Git Flow atau GitHub Flow) buat ngelola proses development, rilis, dan hotfix jadi lebih terstruktur.
  5. Memudahkan Code Review: Sebelum branch fitur digabung ke main, perubahannya bisa direview dulu sama anggota tim lain (biasanya lewat Pull Request di GitHub).

Branch Utama: main (atau master)

Setiap repositori Git biasanya punya satu branch utama. Secara default pas kamu git init, Git bakal bikin branch yang namanya:

  • main: Ini nama yang direkomendasikan dan jadi standar baru yang lebih inklusif. Kalau kamu ngikutin konfigurasi git config --global init.defaultBranch main yang kita bahas sebelumnya, ini yang bakal jadi defaultmu.
  • master: Ini nama default lama. Kamu mungkin masih sering nemuin ini di proyek-proyek lama atau tutorial lama.

Branch main (atau master) ini idealnya selalu nyimpen versi kode yang stabil, udah di-tes, dan siap dirilis (atau udah dirilis). Kita jarang banget ngelakuin development langsung di branch main. Kita bikin branch baru buat kerja, terus di-merge ke main kalau udah mateng.

Perintah git branch: Ngelola Cabang-Cabangmu

Perintah git branch dipake buat ngelist, bikin, atau ngehapus branch.

  1. Melihat Daftar Semua Branch Lokal:

    bashbash
    git branch

    Outputnya bakal nampilin semua branch yang ada di repositori lokalmu. Branch yang lagi aktif (yang HEAD-nya lagi nunjuk ke situ) bakal ditandain pake tanda bintang (*) dan biasanya warnanya beda.

    text
    * main
      fitur-login
      perbaikan-bug-header
    
  2. Membuat Branch Baru:

    bashbash
    git branch <nama_branch_baru>

    Contoh:

    bashbash
    git branch fitur-baru-keren

    Ini cuma bikin branch baru aja yang nunjuk ke commit yang sama kayak branch-mu saat ini. Dia gak otomatis mindahin kamu ke branch baru itu. Kamu masih tetep ada di branch lamamu.

  3. Menghapus Branch Lokal (Hati-hati!):

    bashbash
    git branch -d <nama_branch_yang_mau_dihapus> 
    # Opsi -d (lowercase d): Hapus branch kalau udah di-merge ke branch lain (aman).
    # Kalau belum di-merge dan kamu maksa hapus, dia bakal error.
     
    git branch -D <nama_branch_yang_mau_dihapus> 
    # Opsi -D (uppercase D): Hapus paksa branch meskipun belum di-merge. 
    # HATI-HATI! Perubahan di branch itu bisa ilang kalau belum di-merge ke mana-mana.

    Kamu gak bisa ngehapus branch yang lagi aktif kamu pake. Pindah dulu ke branch lain (git checkout nama_branch_lain) baru hapus.

  4. Mengganti Nama Branch Lokal:

    • Kalau kamu lagi ada di branch yang mau diganti namanya:
      bashbash
      git branch -m <nama_branch_baru>
    • Kalau kamu lagi ada di branch lain dan mau ganti nama branch tertentu:
      bashbash
      git branch -m <nama_branch_lama> <nama_branch_baru>

Penting: Perintah git branch ini cuma ngurusin branch di repositori lokalmu. Buat ngurusin branch di remote (GitHub), ada perintah lain (git push origin --delete <nama_branch>, dll.) yang bakal kita singgung nanti.

Apa yang Terjadi Pas Bikin Branch?

Pas kamu bikin branch baru (misal, git branch fitur-X dari branch main), yang terjadi sebenernya simpel:

  • Git cuma bikin penunjuk baru (fitur-X) yang nunjuk ke commit yang sama tempat main lagi nunjuk.
  • Gak ada file yang disalin atau diduplikasi. Prosesnya cepet banget!
  • Sekarang kamu punya dua penunjuk (main dan fitur-X) yang nunjuk ke snapshot kode yang sama.

Nanti, pas kamu pindah ke branch fitur-X dan mulai bikin commit baru di situ, penunjuk fitur-X bakal maju ngikutin commit barumu, sementara penunjuk main tetep diem di tempatnya (sampe kamu merge atau update main dari tempat lain).


Konsep branching ini adalah salah satu hal yang bikin Git jadi super powerful. Awalnya mungkin kerasa agak abstrak, tapi begitu kamu mulai pake buat misahin kerjaanmu, kamu bakal ngerasain banget manfaatnya.

Ingat, bikin branch itu murah dan gampang di Git! Jadi, jangan ragu buat bikin branch baru setiap kali kamu mau ngerjain fitur baru, nyoba ide, atau benerin bug. Ini praktik yang sangat bagus.

Di materi berikutnya, kita bakal belajar cara "lompat" atau berpindah antar branch yang udah kita buat.


Uji Pemahamanmu!

Memeriksa status login...