美文网首页
reflog ---当你的本地git提交丢失时,他会给你答案

reflog ---当你的本地git提交丢失时,他会给你答案

作者: Wood木木 | 来源:发表于2023-02-15 10:05 被阅读0次

git reflog 当你的本地git提交丢失时,他会给你答案

前言

最近由于分支没配置好,导致我在切换分支的时候,把先前的提交给丢失了。直到遇见git reflog,我成功找回了我辛辛苦苦提交的代码。

作用

在工作时, Git 会在后台保存一个引用日志(reflog),引用日志记录了最近几个月你的 HEAD 和分支引用所指向的历史

  1. 每当 HEAD 所指向的位置发生了变化,Git 就会将这个信息存储到引用日志这个历史记录里。例如:切换分支、新建提交、使用 reset 回退 时会在 reflog 中进行记录。

  2. 使用 @{n} 指定查看仓库中 HEAD 在 n 次前的所指向的提交

  3. 引用日志只存储于本地,与其他人、远程仓库都无关。

$     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 变化记录。

相关文章

网友评论

      本文标题:reflog ---当你的本地git提交丢失时,他会给你答案

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