赞
踩
本文将主要介绍一下git分离头指针状态,并记录如何将分离头指针状态的代码合并到分支中。
当我们使用了git check out <commit id>
,在更改后执行git commit -m 'xxx'
,会生成新的<commit id 2>
。此时,HEAD将不再指向master
或某个分支,而是直接指向<commit id 2>
。
存在问题:此时候所提交的代码并没有和某个分支对应起来,当切换到其他分支的时候(比如master分支),容易丢失代码。
应用场景:在自己做尝试或者测试的时候可以分离头指针,当尝试完毕没有用的时候可以随时丢弃,但是如果觉得尝试有用,那么可以新建一个分支保存下来。
参考:https://time.geekbang.org/course/detail/100021601-72013克里斯 的评论。
参考:Git头指针分离状态
具体操作示例如下:
git branch <branchName> <commit id>
给这个提交创建一个临时的分支,这个分支是基于头指针分离下修改提交的<commit id>
创建的,如:git branch temp d521256
这将分创建分支temp
。如果有多个可重复执行多个分支分别保存分离头指针代码。
master
合并,则可执行:git merge temp
值得注意的是,如果master
分支在temp
分支前,需要先执行:
git checkout master
PS:如果存在多个分离头指针HEAD,一定要每个<commit id>
保存到分支后再执行git checkout master
,不然会将没保存到分支的<commit id>
全部删除,幸好我操作前备份了文件。
temp
删除:git branch -d temp
以上就是本文要讲的内容,本文仅仅简单介绍了遇到git分离头指针状态时如何处理,作为个人记录,也供大家一起学习,希望能帮到大家。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。