目录
在Git中,HEAD表示当前版本。可以用HEAD^表示上一个版本,用HEAD^^表示上上个版本,用HEAD~10表示上10个版本。
commit id是指每一次提交后生成的一个id,用来记录提交的信息。可以使用命令 git reflog 查看历次提交的 commit id。
➜ Code git:(master) ✗ git reflog
8ba7346 (HEAD -> master) HEAD@{0}: reset: moving to HEAD
8ba7346 (HEAD -> master) HEAD@{1}: reset: moving to HEAD^
b0b1ce1 (origin/master) HEAD@{2}: commit: 最大的修改
8ba7346 (HEAD -> master) HEAD@{3}: reset: moving to 8ba7346
c5dd288 HEAD@{4}: reset: moving to c5dd288
c5dd288 HEAD@{5}: reset: moving to HEAD^
8ba7346 (HEAD -> master) HEAD@{6}: commit: 版本1增加address
c5dd288 HEAD@{7}: commit: 版本1补丁
ef6acfe HEAD@{8}: commit (initial): version1
使用 git reset 命令切换版本。
切换到上一个版本:
git reset --hard HEAD^
➜ Code git:(master) git reset --hard HEAD^
warning: unable to rmdir 'cliff_demo/cliff': Directory not empty
HEAD is now at 8ba7346 版本1增加address
当然切换到当前版本也不会出错:
➜ Code git:(master) ✗ git reset --hard HEAD
HEAD is now at 8ba7346 版本1增加address
只是切换到当前版本没有什么意义。
配合使用commit id可以切换到指定的版本:
git reset --hard <commit id>
➜ Code git:(master) ✗ git reset --hard ef6ac
HEAD is now at ef6acfe version1
?提示:commit id 可以不用写全