恢复git reset --hard之前的commit号

1. 依据:只要是在git库中提交过的commit,在.git/logs/refs/heads/分支名 文件中都有记录。所以只要拿到commit号,即使通过git reset --hard回滚到之前的commit号,也能够恢复回来。

2. 过程:

2.1 创建新分支:test_branch。

2.2 编辑文件,提交三次,用于测试。

恢复git reset --hard之前的commit号_第1张图片

此时,文件./git/logs/refs/heads/test_branch文件中的信息如下:

2.3 通过git reset --hard 2626f1cfbb2fb9bcceef3995db5d901b02b5e88f恢复到“test 1”.

此时日志信息如下:

2.4 打开./git/logs/refs/heads/test_branch文件,获取“test 3”的commit号为

“9876a60db9abaa2d0d0ad098e0e579ca9cadeb3b”。

2.5 通过git checkout 9876a60db9abaa2d0d0ad098e0e579ca9cadeb3b -b test_branch2恢复之前的历史记录。

2.6 查看test_branch2的提交历史,发现已经恢复完成。

恢复git reset --hard之前的commit号_第2张图片

 

Done!

 


 

你可能感兴趣的:(git)