Lewati ke konten utama

Git Switch Branch: Panduan dengan Contoh Praktis

Pelajari cara berpindah branch di Git menggunakan git switch dan pahami perbedaan antara git switch dan git checkout.
Diperbarui 28 Sep 2026  · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Branch di Git merepresentasikan jalur pengembangan yang independen, memungkinkan developer mengerjakan banyak fitur atau versi suatu proyek secara bersamaan.

Branch Git menyediakan cara terstruktur untuk mengelola perubahan kode, sehingga integrasi fitur baru, perbaikan bug, dan ide eksperimental berjalan mulus tanpa mengganggu basis kode utama. 

Diagram yang menunjukkan sebuah proyek dengan tiga branch

Secara tradisional, kita menggunakan perintah git checkout untuk berpindah antar branch. Namun, perintah checkout memungkinkan kita melakukan lebih dari sekadar mengganti branch, yang dapat menimbulkan kebingungan dan berujung pada kesalahan.

Diperkenalkan di Git 2.23 pada Agustus 2019, perintah git switch memberikan cara yang lebih intuitif untuk mengganti dan membuat branch baru.

Mengganti dan Membuat Branch dengan Git Switch

Dalam proyek yang kompleks, prioritas sering berubah, dan alur kerja sering kali tidak linear. Umumnya, setiap branch berfokus pada perubahan spesifik, memungkinkan kita mengerjakan beberapa fitur baru atau perbaikan bug secara bersamaan, masing-masing diimplementasikan pada branch-nya sendiri.

Ada beberapa alasan mengapa kita mungkin perlu menghentikan pekerjaan pada satu fitur dan mengalihkan perhatian ke branch lain, seperti:

  • Menunggu ulasan kode (code review).
  • Mengalami hambatan dan membutuhkan bantuan rekan kerja.
  • Menangani hotfix yang membutuhkan perhatian segera.

Berganti antar branch secara efisien adalah kunci menjaga proses pengembangan tetap lancar dan memastikan perubahan berakhir di tempat yang semestinya. Dengan banyak tugas dan kolaborasi tim, memiliki cara yang sederhana dan andal untuk mengganti branch itu penting.

Untuk beralih ke branch yang sudah ada menggunakan perintah switch, kita lakukan hal berikut:

git switch <branch-name>

Pada perintah di atas, <branch_name> harus diganti dengan nama branch yang ingin kita tuju. Misalnya kita ingin mengerjakan fitur baru yang ada di branch feature-x, maka perintahnya:

git switch feature-x

Mengetahui Nama-Nama Branch yang Ada

Jika kita ingin melihat daftar branch yang tersedia, kita gunakan perintah git branch. Branch saat ini akan ditandai dengan tanda bintang di sebelahnya. Misalnya, jika kita memiliki tiga branch lokal bernama main, feature-x, dan bug-z, dan kita sedang berada di branch main, maka keluarannya akan seperti ini:

* main
feature-x
bug-z

Beralih ke Branch Remote

Perintah sebelumnya memungkinkan kita beralih ke branch yang sudah ada di mesin lokal. Untuk beralih ke branch dari repositori remote, kita perlu membuat versi lokalnya menggunakan perintah berikut:

git switch -c <local-branch-name> origin/<remote-branch-name>

Di sini, <local-branch-name> adalah nama yang kita inginkan untuk branch lokal, sedangkan <remote-branch-name> adalah nama branch di remote. Umumnya, kita ingin menggunakan nama yang sama untuk menghindari kebingungan. Misalnya kita belum memiliki branch feature-x secara lokal. Maka kita dapat membuat versi lokalnya dan beralih ke sana seperti ini:

git switch -c feature-x origin/feature-x

Saat menggunakan nama yang sama, Git menyediakan bentuk singkat dengan opsi --track. Jadi perintah di atas setara dengan:

git switch --track origin/feature-x

Untuk menampilkan daftar branch remote, kita dapat menggunakan perintah git branch -r.

Repositori lokal tidak secara otomatis melacak branch remote. Oleh karena itu, sebelum menampilkan daftar atau beralih ke branch remote, penting untuk memperbarui repositori lokal menggunakan git fetch.

Membuat Branch Baru dan Beralih ke Sana

Kita ingin membuat branch baru untuk mulai mengerjakan fitur baru. Dalam hal ini, kita dapat menggunakan flag -c:

git switch -c <new-branch-name>

Ganti <new-branch-name dengan nama branch. Misalnya, untuk membuat branch bernama feature-y kita lakukan berikut ini:

git switch -c feature-y

Kembali ke Branch Sebelumnya

Sering kali setelah berganti branch untuk melakukan beberapa pekerjaan, kita ingin kembali ke branch yang sebelumnya dikerjakan. Git menyediakan bentuk singkat untuk ini dengan perintah:

git switch -

Git Switch vs. Git Checkout

Perintah git checkout sudah ada di Git sejak awal. Sebelum git switch diperkenalkan pada 2019, git checkout digunakan untuk berganti antar branch. Namun, cakupan perintah git checkout melampaui sekadar bernavigasi antar branch. Berikut perbedaan utamanya:

  • git switch: Bertujuan memberikan cara yang lebih intuitif untuk mengganti dan membuat branch baru. Ia menyederhanakan himpunan perintah dan mengurangi kebingungan.
  • git checkout: Perintah yang lebih serbaguna yang dapat digunakan untuk mengganti branch, tetapi juga untuk checkout file dan memulihkan konten dari commit atau branch yang berbeda.

Desain git switch membuat kita lebih sulit secara tidak sengaja menimpa perubahan. Sintaksnya lebih eksplisit untuk berganti branch dan membuat branch baru.

Karena git checkout melakukan banyak hal (mengganti branch, memulihkan file, dll.), peluang untuk melakukan kesalahan saat menggunakannya lebih besar.

Git Switch: Kesalahan Umum

Saat mengelola branch, Anda mungkin menemui beberapa masalah umum. Salah satunya adalah mencoba membuat branch yang sudah ada secara lokal. Masalah lain yang sering terjadi adalah saat mencoba berganti branch sementara ada perubahan yang belum di-commit. Mari mulai dengan menjelaskan yang pertama.

Branch sudah ada secara lokal

Setiap branch lokal harus memiliki nama unik. Anda dapat menggunakan git switch untuk membuat branch lokal dengan dua cara:

1. Untuk melacak branch remote:

git switch --track origin/<branch-name>

2. Untuk membuat branch lokal baru:

git switch -c <branch-name>

Pada kedua kasus, jika sudah ada branch lokal bernama <branch-name>, Git akan menampilkan error sebagai berikut:

fatal: a branch named '<branch-name>' already exists

Kita tidak dapat membuat branch dengan nama yang sama seperti branch lokal lain

Dalam kasus ini, kita dapat beralih ke branch tersebut tanpa membuatnya menggunakan git switch <branch-name>.

Branch saat ini memiliki perubahan yang belum di-commit

Git tidak akan mengizinkan kita berganti branch jika branch saat ini memiliki perubahan yang belum di-commit yang akan ditimpa oleh perpindahan tersebut. Dalam kasus ini, Git akan menampilkan error sebagai berikut:

Please commit your changes or stash them before you switch branches.

<code data-mce-selected=

Seperti yang disampaikan pesan tersebut, untuk mengatasi situasi ini kita perlu terlebih dahulu melakukan commit atas perubahan atau menyimpannya sementara. Jika perubahan siap untuk di-commit ke repositori, kita sebaiknya melakukan commit dengan:

git commit -m "Commit message"

Jika kita ingin menyimpan perubahan tetapi belum siap untuk commit, kita dapat menyimpannya sementara menggunakan perintah git stash:

git stash

Jika kita melakukan stash sebelum berganti branch dan ingin menerapkannya kembali saat kembali ke branch asal, kita dapat menggunakan perintah git stash pop.

Sebagai alternatif, kita juga dapat memutuskan untuk membuang perubahan dengan menggunakan flag --discard-changes:

git switch --discard-changes <branch-name>

Berhati-hatilah sebelum menggunakan opsi terakhir ini karena perubahan akan dihapus secara permanen.

Penggunaan Lanjutan Git Switch

Saat Anda perlu membuat branch dari titik tertentu dalam riwayat proyek atau menangani skenario khusus, git switch menyediakan fungsionalitas lanjutan untuk memenuhi kebutuhan tersebut.

Membuat branch dari titik tertentu

Secara default, saat membuat branch dengan git switch, keadaan awal branch baru akan menjadi HEAD dari branch tempat kita berada saat ini.

Membuat branch secara default dimulai dari HEAD saat ini

Bayangkan kita ingin memulai branch baru dari commit sebelumnya yang spesifik. Setiap commit diidentifikasi oleh <hash> unik, yang dapat kita gunakan dengan perintah git switch untuk membuat branch baru dari commit tersebut. Berikut caranya:

switch -c feature-y <hash>

Ganti <hash> dengan hash commit yang sebenarnya.

Kita dapat membuat branch dari commit tertentu dengan menyediakan hash commit

Beralih ke detached head

Jika kita ingin mengeksplorasi atau bereksperimen dengan commit tertentu tanpa memengaruhi branch saat ini atau membuat branch baru, kita dapat menggunakan detached head dengan perintah:

git switch --detach <hash>

Beralih ke detached head

Dengan melepaskan head, kita dapat dengan aman memeriksa keadaan repositori pada commit tertentu, menjalankan pengujian, atau membuat perubahan sementara tanpa risiko perubahan tersebut secara tidak sengaja di-commit ke branch kerja saat ini. Kasus penggunaan yang paling umum meliputi:

  • Melihat keadaan lama: Jika kita ingin memeriksa atau menguji commit yang lebih lama tanpa mengubah branch saat ini, kita dapat beralih ke commit tersebut dalam keadaan detached.
  • Perubahan sementara: Jika kita ingin bereksperimen dengan perubahan tanpa memengaruhi branch mana pun, kita dapat membuat perubahan tersebut dalam keadaan detached head. Perlu dicatat bahwa commit baru yang kita buat dalam keadaan ini tidak akan menjadi milik branch mana pun, dan kita mungkin perlu membuat branch baru jika ingin menyimpan commit tersebut.
  • Keperluan build/test: Terkadang, kita perlu membangun atau menguji perangkat lunak pada commit tertentu. Beralih ke keadaan HEAD yang detached pada commit tersebut memungkinkan kita melakukannya tanpa berdampak pada struktur branch repositori.

Memaksa perpindahan

Kita telah mempelajari bahwa Git tidak akan mengizinkan kita berganti branch jika ada perubahan yang belum di-commit yang mungkin berbenturan dengan branch tujuan. Jika kita yakin ingin membuang perubahan tersebut dan tetap melanjutkan, kita dapat memaksanya menggunakan opsi -f, seperti ini:

git switch -f <branch-name>

Ada beberapa peringatan penting yang perlu dipertimbangkan. 

  • Perubahan yang belum di-commit akan hilang tanpa peringatan, berpotensi menyebabkan hilangnya pekerjaan jika perubahan tersebut belum disimpan di tempat lain. 
  • Menggunakan -f secara serampangan dapat menumbuhkan kurangnya disiplin, mendorong developer melewati praktik kontrol versi yang benar seperti melakukan stash atau commit perubahan WIP (work-in-progress). Hal ini dapat menyebabkan riwayat repositori menjadi kacau dan mempersulit kolaborasi. Oleh karena itu, meski git switch -f menawarkan kecepatan dan kepraktisan, perintah ini harus digunakan secara bijaksana dan dengan pemahaman yang jelas atas risikonya untuk mengurangi potensi dampak buruk.

Kesimpulan

Perintah git switch mempermudah proses berganti dan membuat branch dibandingkan perintah git checkout yang lebih lama.

Perintah ini menyederhanakan proses dan membantu mengurangi kesalahan, sehingga developer lebih mudah mengelola basis kode mereka.

Perintah ini membantu menghindari masalah umum, seperti tanpa sengaja menimpa perubahan atau membingungkan fungsi-fungsi berbeda dari git checkout.

Mengadopsi perintah ini dapat membuat navigasi branch Git lebih intuitif dan meningkatkan kolaborasi dalam tim pengembangan.


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Git

Pelajari version control dengan kursus-kursus ini!

Kursus

Pendahuluan Konsep GitHub

2 jam
53.7K
Pelajari cara menggunakan berbagai fitur GitHub, menavigasi antarmuka, dan melakukan tugas kolaboratif sehari-hari.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya