參考鏈接
* detached head是一種HEAD指針指向了某一個具體的 commit id,而不是分支的情況。在這個狀態下進行的commit不會對你的遠程分支產生影響
出現的原因
- 從遠程庫clone下來一個遠程的repository
- clone下來之後,git自動在本地建立了一個本地分支master,並自動與遠程庫master關聯
- 現在在操作checkout其他分支名(a)
- 因爲本地的工作區目前是剛剛clone的master分支的代碼並且與遠程關聯,但是本機上沒有本地分支與遠程分支a關聯,所以checkout一下就會出現detached head的狀態(直接指向了commit id,因爲git是離線版本控制,因爲此checkout是遠程的不是本地的,所以git只能給你一個commit id讓你進行操作)
解決辦法
- checkout 的時候如果本地沒有與之關聯,則在命令加上參數在本地新建分支並與之對應即可
- git checkout -b new_branch_name