当前位置:   article > 正文

git分离头指针处理_git 头指针分离自

git 头指针分离自


本文将主要介绍一下git分离头指针状态,并记录如何将分离头指针状态的代码合并到分支中。

1 什么是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克里斯 的评论。

2 将git 分离头指针所指向的代码(commit id)保存下来

参考:Git头指针分离状态
具体操作示例如下:

  1. 通过git branch <branchName> <commit id>给这个提交创建一个临时的分支,这个分支是基于头指针分离下修改提交的<commit id>创建的,如:
git branch temp d521256
  • 1

这将分创建分支temp。如果有多个可重复执行多个分支分别保存分离头指针代码。

  1. 如果需要将分支与master合并,则可执行:
git merge temp
  • 1

值得注意的是,如果master分支在temp分支前,需要先执行:

git checkout master
  • 1

PS:如果存在多个分离头指针HEAD,一定要每个<commit id>保存到分支后再执行git checkout master,不然会将没保存到分支的<commit id>全部删除,幸好我操作前备份了文件。

  1. 最后可选择将临时分支temp删除:
git branch -d temp 
  • 1

总结

以上就是本文要讲的内容,本文仅仅简单介绍了遇到git分离头指针状态时如何处理,作为个人记录,也供大家一起学习,希望能帮到大家。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/466971
推荐阅读
相关标签
  

闽ICP备14008679号