Git推送提示Head detached from origin

      今天碰到一个问题,先描述下出现的步骤,我在github上面有两个分支,一个是master,一个是hexo,首先我拉取了远程分支到本地,此时通过命令git checkout hexo,切换到hexo分支,然后删除hexo下面的部分文件,然后输入命令

  • git add .

  • git commit  -m "提交说明"

  • git push origin hexo

      在命令行提示Everything up-to-date,到github上面查看,实际代码并没有提交,并且此时看到当前分支并不是hexo,于是先通过命令git branch查看当前分支,发现当前处在HEAD detached from origin/hexo上,首先我们知道Head文件是指向当前的分支,那么Head detached from origin/hexo 就意味着当前我本地的分支已经从origin/hexo分支上面分离,没有关联了,这也导致了我的代码实际上并没有push到origin/hexo分支。

        Git推送提示Head detached from origin_第1张图片

       这个问题的解决方法是,基于本次的提交也就是上图的4f690b8,创建一个临时的分支,这样可以先把本次的提交记录保存到临时分支,然后在切到实际需要更新的hexo分支,将临时分支的修改合并到hexo分支,最后在提交至hexo分支。执行步骤如下:

  • git branch temp 4f690b8 (从4f690b8拉出临时分支temp)

        Git推送提示Head detached from origin_第2张图片

  • git checkout hexo (切换到hexo分支)

         Git推送提示Head detached from origin_第3张图片

  • git merge temp (将temp分支的提交合并到hexo分支)

          

  • gitpush origin hexo (推送代码至origin)

  • git branch -d temp (删除临时分支)

         

你可能感兴趣的:(Git)