git detached HEAD 修改后如何提交修改到其他分支

有次工作中git切换分支时,不小心前面加了origin/,但是像往常一样没有注意,直接在新分支上修改代码,等到要提交时给出的提示是git detached HEAD,还说切换分支之前请确保代码不会丢失,所以此时是可能造成修改的代码丢失的。
首先说下 detached Head 的意义,就是处于游离状态,就是处于一个没有分支名字的分支,指向切换分支时的最新提交,也可以只想其他任意提交。

处于detached 状态每次操作都会提示:
在这里插入图片描述

git detached HEAD 时给出的提示:
You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

大致翻译:
第一段:你当前在detached HEAD 状态。你能查看代码,修改并提交代码,能丢弃任何操作都不会影响其他分支。
但此时就会有个大问题,如果是不小心切换到这种状态,所有的改动在没有名字的分支上,如何把这些保存提交到真正需要的分支上。
第二段:你可以通过创建一个新分支来接受这些修改,步骤首先提交commit,然后新建一个分支指向commitid,此时就具有了本地分支,然后可以把这个分支提交到远端,或者切换分支之后其他分支可以merge提交。
(1)提交commit修改 ,
(2)git branch newBranch commitId,
(3)git checkout 切换分支,
(4)执行merge命令(git merge newBranch)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值