問題:
HEAD游離了,在一個不知名的分支上,查看分支如下:

HEAD detached from origin/master
分析:
HEAD detached from origin/master:HEAD從master分支游離出來了。
這個時候 add . 、commit 、push 之類的是沒用的。
解決方案
正確參考操作1:
- git checkout -b temp :基于當前分支創(chuàng)建一個新的臨時分支保留代碼;
- git branch : 查看分支,有temp這個明確的分支
- git checkout master : 切換到主分支
- git merge temp : 在主分支中把temp分支合并過來。
- git 常規(guī)提交。。。(add . 、 commit 、push origin master)
- git branch -d temp:刪除temp分支
正確參考操作2:
如果 git checkout master 切換到了master分支,這時候,分支消失了,你做的東西也消失了。。。不要絕望,如下操作即可:(先保留住代碼,在合并到master分支)
- git reflog :查看操作過的分支哈希碼,比如:
55e9304 HEAD@{1}: commit: modified something,這個是想要的 - git branch -vv:查看分支對應的commit注釋
- git checkout temp 55e9304 :創(chuàng)建 temp 分支 指向 55e9304,并切換到temp分支,這樣保留住了代碼。
- git checkout master : 切換到主分支
- git merge temp : 在主分支中把temp分支合并過來。
- git 常規(guī)提交。。。(add . 、 commit 、push origin master)
- git branch -d temp:刪除temp分支
參考文章:
Git——detached HEAD
git問題記錄--如何從從detached HEAD狀態(tài)解救出來
Git操作基本命令