Git HEAD detached from origin(冲突解决后无法正常push) 问题的解决方案

合并dev分支到master的时候,发生了冲突,按照gitlab给出来的手动合并的教程提交,不成功。
因为对git也不是太熟,一步步搜命令,最后根据分支名找到了解决方案。

梳理一下流程,备忘。

首先,按着手动合并的方式操作,push之后显示Everything up-to-date
使用git status查看,nothing to commit, working tree clean
使用git branch查看,显示 HEAD detached from origin
以此为key,查找到解决方案。
这个问题是因为分支选错了,所以说后续的提交都提交到了一个匿名分支之上,整个状态是游离了的

解决方案如下

1.查看在游离状态下提交的最新commit号
git branch -v

2.创建一个临时的分支temp,用这个分支代替之前的临时分支并且拥有想要恢复的commit,
创建完成之后切换到该分支上查看一下
git branch temp commit号

3.切换到要合并的分支上
git checkout 要合并临时分支的分支名称

4.合并分支
git merge temp

5.推送合并后的分支到远程仓库
git push origin 分支名称:远程分支名称

6.查看远程仓库是否更新
git status

7.删除临时分支【为了保险最后删除】
git branch -d temp


参考文档
git HEAD detached from origin 问题的解决
Git图文教程及详解:git详细的教程

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值