การชำระเงินใด ๆ ของการกระทำที่ไม่ได้เป็นชื่อของหนึ่งในสาขาของคุณจะได้รับคุณหัวเดี่ยว SHA1 ซึ่งแสดงถึงส่วนปลายของสาขายังคงให้ HEAD ที่แยกออกมา เฉพาะการชำระเงินของชื่อสาขาท้องถิ่นหลีกเลี่ยงโหมดนั้น
ดูการกระทำด้วย HEAD เดี่ยว
เมื่อ HEAD ไม่ได้ทำงานจะยอมรับว่าทำงานเหมือนปกติยกเว้นไม่มีการอัพเดทสาขาใด ๆ (คุณสามารถคิดว่านี่เป็นสาขาที่ไม่ระบุชื่อ)

ตัวอย่างเช่นหากคุณชำระเงินที่ "สาขาระยะไกล" โดยไม่ต้องติดตามมันก่อนคุณสามารถจบลงด้วยการถอด HEAD ออก
ดูgit: สับเปลี่ยนสาขาโดยไม่ต้องถอดหัว
ด้วย Git 2.23 (สิงหาคม 2019) คุณไม่จำเป็นต้องใช้คำสั่งที่สับสนgit checkoutอีกต่อไป
git switch ยังสามารถชำระเงินสาขาและรับส่วนหัวยกเว้น:
- มันมี
--detachตัวเลือกที่ชัดเจน
หากต้องการตรวจสอบการยืนยันHEAD~3การตรวจสอบหรือทดสอบชั่วคราวโดยไม่ต้องสร้างสาขาใหม่:
git switch --detach HEAD~3
HEAD is now at 9fc9555312 Merge branch 'cc/shared-index-permbits'
- ไม่สามารถแยกออกโดยไม่ได้ตั้งใจสาขาการติดตามระยะไกล
ดู:
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.
เมื่อเทียบกับ ใช้git switchคำสั่งใหม่:
C:\Users\vonc\arepo>git switch origin/master
fatal: a branch is expected, got remote branch 'origin/master'
หากคุณต้องการสร้างสาขาในพื้นที่ใหม่ติดตามสาขาระยะไกล:
git switch <branch>
หาก<branch>ไม่พบ แต่มีสาขาการติดตามอยู่ในรีโมทหนึ่งตัว (เรียกว่า<remote>) ที่มีชื่อตรงกันให้ถือว่าเทียบเท่า
git switch -c <branch> --track <remote>/<branch>
ไม่มีข้อผิดพลาด!
ไม่มีหัวหน้าเดี่ยวที่ไม่ต้องการอีกต่อไป!
branch-name@{n}ตำแหน่งก่อนหน้า nbranch-nameของgit checkout <rev>แต่ไม่ว่าอะไรจะเกิดขึ้นในบางจุดมีคงจะรับ หากนั่นไม่ส่งเสียงกริ่งคุณอาจทำในสิ่งที่จะกล่าวถึง - ลองทำgit checkout <file>และจัดการเพื่อระบุการแก้ไขโดยไม่ตั้งใจ