git reset 撤销修改,reset 可以撤销add、commit命令

在撤销之前需要知道几个版本的表示方法:

版本

说明

HEAD

当前版本,也是最后一次提交版本

HEAD~

当前版本的父版本,也是上一次提交版本

commit id

其他版本号(32位的字符串)

本文把撤销分成几个阶段,分别是add之前、add之后(commit之前)、commit之后

撤销add之前的修改:

$git restore <file>...

add 把工作区的代码添加到暂存区restore 是撤销工作区的代码修改

撤销add之后的修改:

如果要保留修改,把代码从暂存区撤回工作区。

$git restore --staged <file>...

$git reset --mixed HEAD <file>...  #可以简写为 $git reset <file>...

如果不保留修改

$git reset --hard HEAD <file>... 或 $git checkout -- <file>...

PS:如果要跨版本撤回,要把HEAD改为版本号

撤销commit 之后的修改:

撤回到add之后,也就是commit之前

$git reset --soft HEAD~

撤回到add之前

$git reset --mixed HEAD~

撤回到修改之前,即恢复了修改的文件。

$git reset --hard HEAD~

以上是按整个HEAD进行reset,如果只是要对某个文件进行reset,只要加上文件的路径。

$git reset --soft HEAD~ <file>...

$git reset --mixed HEAD~ <file>...

$git reset --hard HEAD~ <file>...

PS:如果要跨版本撤回,要把HEAD~改为版本号

撤销本地所有修改常用

撤销所有文件的修改(不算未进入版本控制的文件)

$ git reset --hard #实际是git reset --hard HEAD的简写

删除所有未进入版本控制的文件

$ git clean -fd   

撤消到指定版本

情况一:退回到之前的那一个版本

$git reset --hard HEAD~

情况二:退回到任意版本,版本commitid为 a24s0...

$git reset --hard a24s0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值