Saat Anda mulai belajar dan menggunakan Git, Anda akan menemukan situasi umum di mana Anda harus berpindah cabang.
Dan di sini, hal-hal bisa menjadi sedikit membingungkan bagi Anda. Jika Anda mencari cara berpindah cabang di git, Anda akan menemukan beberapa contoh di mana git switch digunakan dan beberapa contoh di mana git checkout digunakan.
Perintah Git checkout | Perintah sakelar Git | Deskripsi |
---|---|---|
git checkout my-branch | git switch my-branch | Beralih ke cabang my-branch |
git checkout -b my-branch | git switch -c my-branch | Buat dan alihkan ke cabang saya |
Jadi, apa perbedaan antara git switch dan git checkout? Jika keduanya dapat digunakan untuk berpindah cabang, mengapa ada dua perintah untuk tujuan yang sama? Biar saya jelaskan.
Perbedaan antara git checkout dan git switch
Inilah masalahnya. Git checkout adalah perintah lama yang digunakan untuk membuat dan mengganti cabang. Itu juga dapat digunakan untuk memulihkan perubahan dari komit tertentu. Tetapi git checkout melakukan lebih dari itu. Ini memungkinkan Anda untuk menyalin file dari cabang mana pun atau melakukan komit langsung ke pohon kerja Anda tanpa berpindah cabang.
Seperti yang dicatat Dan Fabulich, git checkout melakukan tiga hal:
- berpindah cabang
- menyalin file dari panggung ke pohon kerja
- menyalin file dari tree-ish ke working tree
Jika Anda tidak memahaminya, tidak apa-apa. Ingatlah bahwa git checkout melakukan lebih dari sekadar perpindahan cabang dan fungsionalitas tambahan mulai membuat kebingungan.
Dan karenanya, dengan dirilisnya Git 2.23, pengembangnya memperkenalkan dua perintah git baru:git switch
dan git restore
.
Ide di balik langkah ini adalah untuk membiarkan orang menggunakan git switch
untuk berpindah cabang dan git restore untuk membatalkan perubahan dari komit. Pada saat yang sama git checkout
tetap ada untuk opsi lanjutan untuk menangani tree-ish.
Yang mana yang harus Anda gunakan? Git checkout atau git switch?
Jika Anda harus berpindah cabang, gunakan perintah git switch alih-alih git checkout. Mengapa? Karena itu dibuat untuk tugas khusus ini. Untuk pengguna baru Git, lebih mudah untuk mengingat git switch
adalah untuk berpindah cabang, git restore
adalah untuk memulihkan komit.
Jadi, ini adalah praktik yang baik untuk mengganti pembuatan cabang dan fungsionalitas pengalihan git checkout dengan perintah git switch.
Saya harap Anda jelas tentang menggunakan git switch dan checkout sekarang. Jika Anda memiliki sesuatu untuk ditambahkan, silakan gunakan bagian komentar.