工作区
如何撤回自己在工作区目录中的修改
git checkout -- 文件名 //用暂存区或者版本库来覆盖工作区对应文件
暂存区
如何撤回自己的暂存
git reset HEAH 文件名 //用版本库HEAD覆盖暂存区对应文件
版本库
如何撤回自己的提交
git commit --amend //重新写注释
git reset --soft HEAD~
//撤回上一次提交,
//只动HEAD版本库(带着分支一起移动)
git reset --mixed HEAD~
//撤回上一次提交,
//动HEAD版本库(带着分支一起移动)、还动暂存区
git reset --hard HEAD~
//撤回上一次提交,
//动HEAD版本库(带着分支一起移动)、还动暂存区、还动工作区,强制覆盖
1.git reset commithash 文件名/路径
回滚个别文件
2.上面的HEAD也可以用commithash代替,就是回滚、前滚指定快照
路径reset
git reset --mixed HEAD 文件名
简化-->
git reset 文件名
git checkout commithash & git reset --hard commithash区别
1.checkout只是动HEAD,–hard动HEAD且带着分支一起走
2.-- hard会强制覆盖工作目录
打tag
git tag //列出tag
git tag v1.0 //打tag
git tag v1.0 commitHash //打tag
git tag -d v1.0 //删除tag
git checkout tagname //检出tag
//检出tag后会提示分离头指针,
//因为这时HEAD没有指向一个分支,
//此时用git checkout -b 分支名 来创建一个分支即可