文章目录
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
版权声明:本文为wangrui1605原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。