作用
在工作时, Git 会在后台保存一个引用日志(reflog),引用日志记录了最近几个月你的 HEAD 和分支引用所指向的历史。
-
每当 HEAD 所指向的位置发生了变化,Git 就会将这个信息存储到引用日志这个历史记录里。例如:切换分支、新建提交、使用 reset 回退 时会在 reflog 中进行记录。
-
使用 @{n} 指定查看仓库中 HEAD 在 n 次前的所指向的提交。
-
引用日志只存储于本地,与其他人、远程仓库都无关。
$ git reflog
9b3a660 HEAD@{0}: commit: third
dc214b5 HEAD@{1}: checkout: moving from dev to master
dc214b5 HEAD@{2}: checkout: moving from master to dev
dc214b5 HEAD@{3}: commit: second
9b335a3 HEAD@{4}: commit (initial): first
$ git reflog HEAD@{1}
dc214b5 HEAD@{1}: checkout: moving from dev to master
dc214b5 HEAD@{2}: checkout: moving from master to dev
dc214b5 HEAD@{3}: commit: second
9b335a3 HEAD@{4}: commit (initial): first
使用 @{1} 时,除了最新的一条没有输出。因为 @{1} 查询的是最新 1 次前的所有 HEAD 变化记录。
网友评论