1. 依据:只要是在git库中提交过的commit,在.git/logs/refs/heads/分支名 文件中都有记录。所以只要拿到commit号,即使通过git reset --hard回滚到之前的commit号,也能够恢复回来。
2. 过程:
2.1 创建新分支:test_branch。
2.2 编辑文件,提交三次,用于测试。
此时,文件./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的提交历史,发现已经恢复完成。
Done!
版权声明:本文为liufuchun111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。