问题来源
git 恢复文件到初始状态的命令:
$ git reset HEAD <file>
git 展示提交日志命令:
$ git log
commit c4f9d71863ab78cfca754c78e9f0f2bf66a2bd77 (HEAD -> master)
在这些命令中常常会看到HEAD
这个名词,它指的是什么呢?
回答
这要从git的分支说起,git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。git 是如何知道你当前在哪个分支上工作的呢?
其实答案也很简单,它保存着一个名为 HEAD 的特别指针。在 git 中,它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。
所以,
-
git reset HEAD <file>
指的是恢复到当前分支中文件的状态。 -
git log
日志展示中HEAD -> master
指的是:当前分支指向的是master分支。