K

Command Palette

Search for a command to run...

Daftar

Pindah Branch Git (checkout/switch)

Sudah bikin branch baru? Pelajari cara berpindah ke branch tersebut atau ke branch lain yang sudah ada menggunakan perintah `git checkout` atau perintah `git switch` yang lebih modern.

Lompat Antar "Jalur Waktu": Cara Pindah Branch di Git!

Udah bisa bikin branch baru pake git branch <nama_branch>? Keren! Tapi, inget kan, pas kamu bikin branch baru pake cara itu, kamu sebenernya masih tetep ada di branch lamamu. Branch baru itu cuma kayak "penunjuk" baru yang nunjuk ke commit yang sama.

Nah, biar kamu bisa bener-bener kerja di branch baru itu (atau pindah ke branch lain yang udah ada), kamu perlu "lompat" atau berpindah branch. Ada dua perintah utama buat ngelakuin ini di Git:

  1. git checkout <nama_branch> (Cara lama, serbaguna tapi kadang bisa ambigu)
  2. git switch <nama_branch> (Cara baru sejak Git 2.23, lebih fokus dan aman buat pindah branch - Direkomendasikan!)

Yuk, kita bahas keduanya!

1. git checkout <nama_branch>: Si Serbaguna (Tapi Hati-Hati)

Perintah git checkout ini udah lama jadi andalan buat pindah branch. Tapi, dia sebenernya punya banyak fungsi lain juga (kayak balikin file di working directory, yang udah kita singgung sebelumnya), jadi kadang penggunaannya bisa sedikit ambigu buat pemula.

  • Sintaks Pindah ke Branch yang Sudah Ada:

    bash
    git checkout <nama_branch_tujuan>
    • <nama_branch_tujuan>: Nama branch yang mau kamu pindahin HEAD-nya (dan working directory-mu).
  • Apa yang Terjadi Pas git checkout <branch>?

    1. HEAD Pindah: Penunjuk HEAD (yang nandain commit saat ini) bakal pindah nunjuk ke commit terakhir di <nama_branch_tujuan>.
    2. Working Directory Di-update: Isi file-file di Working Directory-mu bakal otomatis diubah biar cocok sama kondisi file di snapshot commit terakhir <nama_branch_tujuan> itu.
      • Kalau ada file yang ada di branch tujuan tapi gak ada di branch asalmu, file itu bakal muncul.
      • Kalau ada file yang ada di branch asalmu tapi gak ada di branch tujuan, file itu bakal "ilang" (tapi tenang, gak kehapus permanen, dia masih ada di branch asalmu).
      • Kalau ada file yang isinya beda antara dua branch itu, isi file di working directory-mu bakal di-update jadi versi branch tujuan.
    • Ini kayak kamu "mundur" atau "maju" ke "foto" (snapshot) yang beda di "mesin waktu"-mu.

Contoh Penggunaan git checkout:

bash
# Misal kita lagi di branch 'main'
# Kita udah bikin branch 'fitur-baru' sebelumnya pake 'git branch fitur-baru'
 
git branch # Liat daftar branch, '*' ada di main
#   fitur-baru
# * main
 
# Pindah ke branch 'fitur-baru'
git checkout fitur-baru
# Output: Switched to branch 'fitur-baru'
 
# Sekarang, kalau kamu 'git branch' lagi:
# * fitur-baru
#   main
# Tanda '*' udah pindah ke 'fitur-baru', artinya kamu lagi kerja di situ.
# File-file di working directory-mu sekarang ngikutin kondisi terakhir di 'fitur-baru'.
  • Membuat Branch Baru DAN Langsung Pindah (Shortcut checkout -b): Daripada git branch <nama_baru> terus git checkout <nama_baru>, kamu bisa ngelakuin dua-duanya sekaligus pake:
    bash
    git checkout -b <nama_branch_baru_yang_mau_dibuat_dan_dipindahin>
    Contoh:
    bash
    git checkout -b perbaikan-bug-cepat 
    # Ini bakal bikin branch baru 'perbaikan-bug-cepat' DAN langsung pindah ke situ.
    Ini shortcut yang super sering dipake!

Peringatan git checkout:

  • Kalau kamu punya perubahan yang belum di-commit (uncommitted changes) di working directory-mu yang mungkin bakal "ketimpa" atau konflik pas pindah branch, Git biasanya bakal ngasih peringatan dan nolak pindah branch biar kerjaanmu gak ilang.
  • Kamu harus nge-commit dulu perubahanmu, atau nge-stash (simpen sementara, topik advance), atau nge-discard (buang) perubahan itu sebelum bisa pindah branch dengan aman.

2. git switch <nama_branch>: Cara Baru yang Lebih Fokus dan Aman (Direkomendasikan!)

Karena git checkout punya banyak fungsi, kadang bisa bikin bingung. Makanya, di Git versi 2.23 (rilis Agustus 2019), dikenalin dua perintah baru yang lebih spesifik:

  • git switch: Khusus buat urusan pindah-pindah branch.
  • git restore: Khusus buat urusan balikin file (yang udah kita bahas di materi membatalkan perubahan).

Fokus kita sekarang di git switch.

  • Sintaks Pindah ke Branch yang Sudah Ada:

    bash
    git switch <nama_branch_tujuan>

    Sama persis kayak git checkout <nama_branch_tujuan>, tapi lebih jelas niatnya.

  • Membuat Branch Baru DAN Langsung Pindah:

    bash
    git switch -c <nama_branch_baru_yang_mau_dibuat_dan_dipindahin>
    # Opsi -c itu singkatan dari --create

    Contoh:

    bash
    git switch -c fitur-keren-sekali
    # Bikin branch 'fitur-keren-sekali' dan langsung aktif di situ.

    Ini padanan dari git checkout -b.

Kenapa Pake git switch Lebih Disarankan (Kalau Versi Git-mu Mendukung)?

  • Lebih Jelas Tujuannya: git switch cuma buat pindah branch. git checkout bisa buat pindah branch, balikin file, dll. Ini ngurangin ambiguitas.
  • Lebih Aman dari Kesalahan: Karena fungsinya lebih spesifik, risiko kamu gak sengaja ngelakuin hal lain (kayak nge-checkout file padahal niatnya pindah branch) jadi lebih kecil.

Kalau Git-mu Versi Lama (Sebelum 2.23)? Kamu masih harus pake git checkout. Tapi kalau udah pake Git versi baru, sangat disarankan buat mulai ngebiasain diri pake git switch buat pindah branch dan git restore buat balikin file.

Contoh Penggunaan git switch:

bash
# Misal kita lagi di branch 'main'
# Kita udah bikin branch 'eksperimen-layout' sebelumnya pake 'git branch eksperimen-layout'
 
git branch
#   eksperimen-layout
# * main
 
# Pindah ke branch 'eksperimen-layout' pake switch
git switch eksperimen-layout
# Output: Switched to branch 'eksperimen-layout'
 
git branch
# * eksperimen-layout
#   main
 
# Bikin branch baru 'desain-tombol' dan langsung pindah ke situ
git switch -c desain-tombol
# Output: Switched to a new branch 'desain-tombol'
 
git branch
# * desain-tombol
#   eksperimen-layout
#   main

Apa yang Harus Dilakukan Sebelum Pindah Branch?

Sebelum kamu "lompat" branch pake git checkout atau git switch, ada baiknya:

  1. Cek Status Dulu (git status): Pastiin gak ada perubahan penting di working directory atau staging area yang belum kamu simpen (commit).
  2. Commit Perubahanmu: Kalau ada perubahan yang udah selesai dan mau kamu simpen di branch saat ini, commit dulu sebelum pindah.
  3. Atau Stash Perubahanmu (Advance): Kalau ada perubahan yang belum siap di-commit tapi kamu gak mau buang, kamu bisa pake git stash buat nyimpennya sementara. Nanti bisa dikeluarin lagi setelah pindah branch. (Ini topik lanjutan).

Kalau working directory-mu "bersih" (gak ada uncommitted changes), pindah branch bakal aman dan lancar.


Dengan git checkout (atau git switch yang lebih modern), kamu bisa dengan bebas "menjelajahi" berbagai "lini waktu" atau "jalur pengembangan" di proyekmu. Ini adalah inti dari fleksibilitas Git!

Sekarang kamu udah bisa bikin branch (git branch nama) dan pindah ke branch itu (git switch nama atau git switch -c nama_baru). Langkah selanjutnya adalah gimana cara "nyatuin" lagi hasil kerjaan dari branch yang beda-beda itu ke branch utama. Itu topik buat materi berikutnya: git merge!


Kuis Pindah Branch Git (checkout/switch)

Pertanyaan 1 dari 5

Anda sedang berada di branch `main` dan ingin berpindah ke branch lain yang sudah ada bernama `fitur-keren`. Perintah Git apa yang bisa Anda gunakan (pilih yang paling umum/klasik)?