简单介绍一下 git reflog

1. 使用场景

git reflog 用于记录和查看所有对 HEAD 引用所做的历史更改。它不仅记录每一次提交,还包括分支切换、合并、重置等所有可能影响 HEAD 的操作。即使丢失了提交或回滚操作,也可以通过 git reflog 找回和恢复这些操作。

2. 具体用法

1、查看 HEAD 的历史记录

git reflog

这会列出所有 HEAD 的变动记录。例如:

8d67418 (HEAD -> main) HEAD@{0}: commit: added feature X
abc1234 HEAD@{1}: checkout: moving from feature to main
def5678 HEAD@{2}: commit: implemented feature Y
6bde123 HEAD@{3}: merge feature-branch: merge code

每条记录包括:

1)提交哈希:对应的提交 ID。

2)索引编号:表示历史记录的顺序,HEAD@{0} 是最新的操作。

3)操作说明:描述操作的类型和内容,如 commit、checkout、merge 等。

2、恢复误删的提交

假设我们使用 git reset --hard 丢失了某些提交,但这些提交还在 reflog 里。

可以通过以下步骤找回:

1)查看 reflog 记录

git reflog

# 假设为以下内容:
8d67418 (HEAD -> main) HEAD@{0}: reset: moving to HEAD~2
abc1234 HEAD@{1}: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值