Setiap checkout dari komit yang bukan nama salah satu cabang Anda akan membuat Anda HEAD terpisah. A SHA1 yang mewakili ujung cabang masih memberikan KEPALA terpisah. Hanya checkout dari nama cabang lokal yang menghindari mode itu.
Lihat melakukan dengan KEPALA terpisah
Ketika HEAD dilepaskan, komit berfungsi seperti biasa, kecuali tidak ada cabang bernama diperbarui. (Anda dapat menganggap ini sebagai cabang anonim.)

Misalnya, jika Anda checkout "cabang jarak jauh" tanpa melacaknya terlebih dahulu, Anda dapat berakhir dengan KEPALA terpisah.
Lihat git: beralih cabang tanpa melepaskan kepala
Dengan Git 2.23 (Agustus 2019), Anda tidak perlu menggunakan perintah yang membingungkangit checkout lagi.
git switch juga dapat checkout cabang, dan mendapatkan KEPALA lepas, kecuali:
- ia memiliki
--detachopsi eksplisit
Untuk memeriksa komit HEAD~3untuk inspeksi atau eksperimen sementara tanpa membuat cabang baru:
git switch --detach HEAD~3
HEAD is now at 9fc9555312 Merge branch 'cc/shared-index-permbits'
- itu tidak dapat terlepas oleh cabang pelacakan jarak jauh
Lihat:
C:\Users\vonc\arepo>git checkout origin/master
Note: switching to 'origin/master'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
Vs. menggunakan git switchperintah baru :
C:\Users\vonc\arepo>git switch origin/master
fatal: a branch is expected, got remote branch 'origin/master'
Jika Anda ingin membuat cabang lokal baru yang melacak cabang jarak jauh:
git switch <branch>
Jika <branch>tidak ditemukan tetapi ada cabang pelacakan di persis satu remote (sebut saja <remote>) dengan nama yang cocok, perlakukan setara dengan
git switch -c <branch> --track <remote>/<branch>
Tidak salah lagi!
Tidak ada lagi KEPALA terlepas yang tidak diinginkan!
branch-name@{n}, posisi ke - 9 sebelumnyabranch-name. Tapi tidak peduli apa, pada titik tertentu pasti adagit checkout <rev>. Jika itu tidak membunyikan bel, maka mungkin Anda melakukan apa yang disebutkan Will - coba lakukangit checkout <file>dan berhasil menentukan revisi secara tidak sengaja.