美文网首页
理解git 中的HEAD指针&branch指针

理解git 中的HEAD指针&branch指针

作者: 爱佛僧_Aifoosen | 来源:发表于2019-02-28 10:44 被阅读0次

HEAD指针

使用git checkout 来移动HEAD指针,移动的对象可以是分支指针也可以是快照。
HEAD指针可以指向快照也可以指向branch。当指向branch时提交后会和branch指针一起向后移动,当不指向branch提交时时则会在一个detached状态。

分支(branch)指针

使用git branch -f 来移动分支指针,移动的对象只能是快照。当且仅当HEAD指针指向分支指针的时候,提交才会有效。

实例

1.HEAD指针默认指向当前的分支指针,用星号表示,如master*


master

2.移动HEAD指针,git checkout C1
这个时候HEAD指针指向的是快照,这个时候指针的状态称之为游离状态,detached。

这里写图片描述

3.HEAD指针在游离状态下提交,git commit
游离状态下提交的commit,没有分支指针指向。可以在游离状态下的快照新建分支或强制移动已存在的分支

这里写图片描述

4.移动HEAD指针,让他指向master分支指针git checkout master

这里写图片描述

5.在master分支指针上提交git commit
这个是正常的提交,和游离状态下的提交是不一样的

这里写图片描述

6.给detached状态下的快照添加分支。在3中我们提到给detached状态下的快照增加分支的两种方法。
6.1给detached状态下的快照新建一个分支
6.1.1 将HEAD指针移动到detached状态的快照git checkout C2

这里写图片描述

6.1.2添加分支git branch new

这里写图片描述

6.1.3将HEAD指针移动到new分支指针上就可以在new分支上提交了git checkout new

这里写图片描述

6.2移动已存在的分支到detached状态的分支git branch -f master C2
这个时候master分支以前的快照C3就变成了detached状态了

这里写图片描述

本文转载自:http://blog.csdn.net/claroja

相关文章

  • 理解git 中的HEAD指针&branch指针

    HEAD指针 使用git checkout 来移动HEAD指针,移动的对象可以是分支指针也可以是快照。HEAD指针...

  • Git HEAD detached from XXX 解决

    Git 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD 查看当前 HEAD...

  • git实用命令整理

    小知识:在git中,用HEAD表示当前版本。git回退版本速度非常快,得益于HEAD指针,每次回退仅仅改变了指针指...

  • git rest 重置

    git reset HEAD什么都不会发生, 指针指向当前位置 git reset --mixed HEAD~1H...

  • git 分支使用

    理解 HEAD 指针 HEAD 指向当前分支引用的指针,也就是一个指向你的最后一次提交的指针,通常可以简单的认为 ...

  • git篇之reset

    常用命令 git reset --hard HEAD ---->指针指向当前版本git reset --mixed...

  • git revert 和reset的区别

    注意:当前 HEAD 指针是{0}, HEAD~1指向的是倒数第二次提交; git revert和git rese...

  • Git 分离头指针 HEAD

    分离头指针 HEAD 操作 当前 Git 仓库的头指针不指向任何分支,处于游离状态或者说分离状态。 如果正的游离状...

  • git checkout

    git checkout [] [--] ...不会改变HEAD头指针,主要使用于指定版本的文...

  • 【学了就忘】Git操作 — 67.分离头指针状态

    1、什么是分离头指针状态 Git在使用的时候有一种状态,叫做分离头指针状态,也叫detached HEAD。 我们...

网友评论

      本文标题:理解git 中的HEAD指针&branch指针

      本文链接:https://www.haomeiwen.com/subject/hpxhuqtx.html