Loading

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 .

 

posted @ 2019-09-15 18:40  街头卖艺的肖邦  阅读(5006)  评论(0编辑  收藏  举报