git分离头指针是一种HEAD指针不再指向分支,而是直接指向某个commit的状态;一般情况下HEAD指针指向分支,而分支是指向提交,分离头指针指的是变更没有基于某一个分支,当我们进行分支切换时,很可能出现变更的丢失,这时我们需要创建一个新的分支,将变更绑定到分支上。
本文操作环境:Windows10系统、Git2.30.0版、Dell G3电脑。
git分离头指针是什么
Git在使用的时候有一种状态,叫做分离头指针状态,也叫detached HEAD。
我们之前的更新中可以了解到,在Git中HEAD指针指向分支,而分支是指向提交。所谓的分离头指针状态就是HEAD指针不再指向分支,而是直接指向某个commit。
通常,我们工作在某一个分支上,比如 master 分支。这个时候 master 指针和 HEAD 指针是一起前进的,每做一次提交,这两个指针就会一起向前挪一步。但是在某种情况下(例如 checkout 了某个具体的 commit),master 指针 和 HEAD 指针这种「绑定」的状态就被打破了,变成了分离头指针(detacged HEAD)状态。
分离头指针指的是变更没有基于某一个分支,当我们进行分支切换时,很可能出现变更的丢失,这时我们需要创建一个新的分支,将变更绑定到分支上
1.如下图所示,我目前是一个正常的状态
2.这时我切换到一个commit,出现分离头指针状态
3.在分离头指针状态下修改文件内容并提交
推荐学习:《Git教程》