Git(六): git reset操作
git reset 操作
- git reset
git reset HEAD 文件名 移除不必要的添加到暂存区的文件 git reset HEAD^ 或者 commitid 去掉上一次的提交 git reset --soft HEAD^ 修改上次提交的信息,即commit -m "修改这里的内容" git reset --soft 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变 git reset --mixed (默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变 git reset --hard 将HEAD指向指定的提交,暂存区跟工作区都会改变
# 移除不必要的添加到暂存区的文件
git reset HEAD 文件名
# 去掉上一次的提交
git reset HEAD^ 或者 commitid
# 修改上次提交的信息,即commit -m "修改这里的内容"
git reset --soft HEAD^
# 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变
git reset --soft
#(默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变
git reset --mixed
# 将HEAD指向指定的提交,暂存区跟工作区都会改变
git reset --hard
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset [file]
仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID
HEAD指向的版本就是当前版本,因此Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id;
Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写HEAD~100;
其他撤销操作
# 恢复暂存区的指定文件到工作区
git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
git checkout .