1. 程式人生 > >Git HEAD detached from XXX (git HEAD 遊離) 解決辦法

Git HEAD detached from XXX (git HEAD 遊離) 解決辦法

直接 結果 merge img 匿名 out 一個 mil ron

  • 什麽是Head
    • git中的head可以理解為一個指針,我們可以在命令行中輸入 cat .git/HEAD查看當前的head指向哪兒,一般它指向當前工作目錄所在分支的最新提交
    • 技術分享圖片
  • Head遊離狀態的利與弊
    • HEAD 處於遊離狀態時,我們可以很方便地在歷史版本之間互相切換,比如需要回到某次提交,直接 checkout 對應的 commit id 或者 tag 名即可。

      它的弊端就是:在這個基礎上的提交會新開一個匿名分支!

    • 也就是說我們的提交是無法可見保存的,一旦切到別的分支,遊離狀態以後的提交就不可追溯了。
    • 解決辦法就是新建一個分支保存遊離狀態後的提交:
  • 具體解決操作
    • git branch -v 查看當前領先多少
    • 技術分享圖片
      • b2629f0指向的是master最後一次提交

    • 新建一個 temp 分支,把當前提交的代碼放到整個分支
    • 技術分享圖片

    • checkout 出要回到的那個分支,這裏是 master

技術分享圖片

    • 然後 merge 剛才創建的臨時分支,把那些代碼拿回來

技術分享圖片

    • git status 查看下合並結果,有沖突就解決
      • 技術分享圖片
    • 合並 OK 後就提交到遠端
      1. 技術分享圖片
    • 刪除剛才創建的臨時分支

技術分享圖片

    • 查看 Log,當前 HEAD 指向本地 master ,和遠端 master 一致,OK 了技術分享圖片

Git HEAD detached from XXX (git HEAD 遊離) 解決辦法