Git中的‘HEAD’是什么?- Git名词解释

问题来源

git 恢复文件到初始状态的命令:

$ git reset HEAD <file>

git 展示提交日志命令:

$ git log
commit c4f9d71863ab78cfca754c78e9f0f2bf66a2bd77 (HEAD -> master)

在这些命令中常常会看到HEAD这个名词,它指的是什么呢?

回答

这要从git的分支说起,git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。git 是如何知道你当前在哪个分支上工作的呢?
其实答案也很简单,它保存着一个名为 HEAD 的特别指针。在 git 中,它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。


HEAD 指向当前所在的分支——master

所以,

  • git reset HEAD <file> 指的是恢复到当前分支中文件的状态。
  • git log 日志展示中HEAD -> master指的是:当前分支指向的是master分支。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,942评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,951评论 0 11
  • 碗底的荷包蛋。 几天前,吃晚饭的时候。吃到碗底发现有个荷包蛋。我奇怪看着他,为什么加荷包蛋,老公笑到,对你好呀,我...
    心曙_d605阅读 824评论 6 18
  • 今晚陪同莎莎阅读的是《古利和古拉与古鲁力古拉》《古利和古拉与小堇》。 这是她自己选的其中两本,奇妙的是都是和第三者...
    莎妈笔记阅读 1,146评论 0 0
  • 最近一个同学失恋了,天天发空间动态朋友圈,无非就是从当初的失落到祝你幸福,再到后来的励志努力改变。说实话,刚开...
    柠檬Mlle阅读 344评论 0 1