Ketika kamu baru belajar dan menggunakan git, pasti sering ketemu situasi di mana kamu harus gonti-ganti branch.

Di sini bisa bikin agak bingung buat kamu. Ketika kamu mencari tutorial cara pindah branch di git, pasti bakal ketemu beberapa contoh yang menggunakan git switch dan ada juga beberapa tutorial yang menggunakan git checkout.

Jadi, apa sih bedanya antara git switch sama git checkout?

Dua-duanya bisa digunakan untuk pindah branch. Tapi memangnya harus ada dua perintah yang sama untuk melakukan satu hal?

Oke, di artikel ini, saya akan menjelaskan perbedaan dari kedua perintah tersebut.

Perbedaan git switch dengan git checkout

Jadi git checkout itu adalah perintah lama yang biasanya digunakan untuk membuat dan berpindah ke cabang tertentu. Tapi tau nggak? git checkout itu bisa melakukan banyak hal lain lho! Misalnya, nge-restore perubahan dari commit tertentu. Atau bahkan, bikin kamu bisa langsung nyalin file dari branch atau commit mana aja ke working tree-mu tanpa harus pindah-pindah cabang. Keren, kan?

Seperti yang diceritakan dalam artikelnya Dan Fabulich, sebenarnya git checkout dapat digunakan untuk melakukan tiga hal ini.

  • pindah branch
  • copy file dari stage ke working tree
  • copy file dari suatu branch ke working tree

Kalo kamu belum paham, tenang aja. Ingat-ingat saja kalau git checkout tidak cuma digunakan untuk berganti cabang, tapi juga fitur lainnya yang bisa bikin kita bingung.

Oleh karena itu, developer git membuat dua perintah baru di rilis 2.23 yaitu git switch dan git restore.

git switch digunakan untuk gonta-ganti branch dan git restore untuk undo perubahan dari sebuah commit. git checkout tetap bisa digunakan seperti biasa.

Jadi, mana yang harus kita gunakan?

Kalau kamu hanya ingin pindah antar branch, saya sarankan untuk menggunakan git switch daripada git checkout. Kenapa? Ya, karena perintah itu memang dibuat spesial untuk pindah-pindah branch. Jadi, untuk user git pemula lebih gampang mengingatnya, git switch untuk gonta-ganti branch dan git restore untuk mengembalikan commit.

Jadi, lebih bagus kalau kamu membiasakan menggunakan git switch untuk pindah branch daripada git checkout.