Git HEAD detached from XXX (git HEAD 遊離) 解決辦法
阿新 • • 發佈:2018-10-18
直接 結果 merge img 匿名 out 一個 mil ron
- 什麽是Head
- git中的head可以理解為一個指針,我們可以在命令行中輸入 cat .git/HEAD查看當前的head指向哪兒,一般它指向當前工作目錄所在分支的最新提交
- git中的head可以理解為一個指針,我們可以在命令行中輸入 cat .git/HEAD查看當前的head指向哪兒,一般它指向當前工作目錄所在分支的最新提交
- Head遊離狀態的利與弊
-
HEAD 處於遊離狀態時,我們可以很方便地在歷史版本之間互相切換,比如需要回到某次提交,直接 checkout 對應的 commit id 或者 tag 名即可。
它的弊端就是:在這個基礎上的提交會新開一個匿名分支!
- 也就是說我們的提交是無法可見保存的,一旦切到別的分支,遊離狀態以後的提交就不可追溯了。
- 解決辦法就是新建一個分支保存遊離狀態後的提交:
-
- 具體解決操作
- git branch -v 查看當前領先多少
-
-
b2629f0指向的是master最後一次提交
-
- git branch -v 查看當前領先多少
-
- 新建一個 temp 分支,把當前提交的代碼放到整個分支
-
checkout
出要回到的那個分支,這裏是 master
-
- 然後
merge
剛才創建的臨時分支,把那些代碼拿回來
- 然後
-
git status
查看下合並結果,有沖突就解決
- 合並 OK 後就提交到遠端
- 刪除剛才創建的臨時分支
-
- 查看 Log,當前 HEAD 指向本地 master ,和遠端 master 一致,OK 了
- 查看 Log,當前 HEAD 指向本地 master ,和遠端 master 一致,OK 了
Git HEAD detached from XXX (git HEAD 遊離) 解決辦法