git 分离头指针

git checkout 是如何工作的

简单来说git checkout有两种使用方式

  • git checkout 加分支名称
git checkout master
  • git checkout 加一个具体的commit 5d27a489853c9c51 是一个具体的提交的hash 值。
git checkout 5d27a489853c9c51

在这里插入图片描述

detached head 分离头指针

正常状态头指针HEAD指向的是分支 branch 也就是当前分支中的最后一次提交。
在这里插入图片描述

运行 之后

git checkout 87ec91d

在这里插入图片描述

这是分离的头部状态;HEAD直接指向提交而不是分支。

分离头指针的作用

分离头指针可以让我们回到过去。可以通过git log 命令回到我们想去的任何地方。后悔药啊!
不仅如此还可以在历史版本的基础上做修改。
执行命令

git checkout 87ec91d

执行结果
在这里插入图片描述

实例说明

1 切换分离头指针状态
git checkout 87ec91d

在这里插入图片描述

2 在此状态做修改

在这里插入图片描述

如下

echo "Welcome to the alternate timeline, Morty!" > new-file.txt
git add .
git commit -m "Create new file"
echo "Another line" >> new-file.txt
git commit -a -m "Add a new line to the file"
3 查看头指针
 git log --oneline

在这里插入图片描述
在这里插入图片描述

4 保留更改或者是丢弃

如果要保留这些更改,我们应该怎么做?如果你想丢弃它们,我们该怎么办?这就是我们接下来要看到的。

  • 如果我们是无意中checkout 到了分离头指针状态。想要恢复到原先状态。
git checkout <branch-name>
  • 如果在历史版本中做了一些实验性的改变想要丢弃它。直接返回原先的分支就行。

如果要保留使用分离头所做的更改,只需创建一个新分支并切换到它。我们可以在到达分离的头部或创建一个或多个提交后立即创建它。结果是一样的。唯一的限制是,我们应该在返回正常分支之前执行此操作。如果执行切换到正常分支也会有提示。
在这里插入图片描述

5保存分支的修改
git branch new-branch 29e503c
git checkout new-branch

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值