問題來源
git 恢復(fù)文件到初始狀態(tài)的命令:
$ git reset HEAD <file>
git 展示提交日志命令:
$ git log
commit c4f9d71863ab78cfca754c78e9f0f2bf66a2bd77 (HEAD -> master)
在這些命令中常常會看到HEAD
這個名詞酸些,它指的是什么呢?
回答
這要從git的分支說起檐蚜,git 中的分支魄懂,其實本質(zhì)上僅僅是個指向 commit 對象的可變指針。git 是如何知道你當(dāng)前在哪個分支上工作的呢闯第?
其實答案也很簡單市栗,它保存著一個名為 HEAD 的特別指針。在 git 中咳短,它是一個指向你正在工作中的本地分支的指針填帽,可以將 HEAD 想象為當(dāng)前分支的別名。
HEAD 指向當(dāng)前所在的分支——master
所以咙好,
-
git reset HEAD <file>
指的是恢復(fù)到當(dāng)前分支中文件的狀態(tài)篡腌。 -
git log
日志展示中HEAD -> master
指的是:當(dāng)前分支指向的是master分支。