使用场景,需要在某个历史提交做测试,执行checkout commitID即可回退到某个提交并将指针进入游离状态。如果在游离指针上做提交,切换到其他分支后,所有游离提交都会丢失。
恢复方法:
1、git reflog 查看所有记录,获取最新提交记录commitid
2、git branch test_branch commitid 根据此提交创建分支
3、checkout branch_test //切换到此分支
4、直接使用新创建的分支或者git merger 合并到其他分支即可
回滚操作:
git reset //回滚到某个历史版本,本地工作区会改变,之后提交的都会丢失
git revert //回滚到某个提交,之后的提交不会丢失,可以检出此提交,本地代码变更到此提交,且修改不会丢失。指针进入游离状态