Git撤销操作

Git撤销操作

一、修改的文件尚未执行add

这种情况下,我们的工作区是需要修改的,而暂存区是干净的,因此这一步需要使用git checkout命令

对于单个文件(以a.txt为例)

git checkout a.txt

对于整个文件夹,可以直接用.代替

git checkout .

注意:如果想要撤销新增的文件,这种方法不起作用!

二、修改的文件已经add 尚未commit

这一步需要使用git reset命令

值得注意的是,git reset命令有三种模式:

  • mixed模式

    git reset即为该模式

  • soft模式

    git reset --soft

  • hard模式

    git reset --hard

对于mixed模式,会清除暂存区,保留工作区,即撤销“add”这步操作,让其回到add之前(注意:对工作区的修改仍然存在,撤销的仅仅只是add的过程),因此,还需要再执行一次git checkout才行

对于单个文件(以a.txt为例)

git reset HEAD a.txt
git checkout a.txt

对于整个文件夹

git reset HEAD
git checkout .

三、修改的文件已经commit

这一步还是需要使用git reset命令,但是不同的是,我们需要使用soft模式或者hard模式

对于soft模式,会变换版本,但是保留暂存区,换言之,仅仅是撤销了"commit"这步操作,“add”所施加的影响还在

而hard模式就非常霸道了,会直接变换版本,清空暂存区和工作区,换言之,是彻彻底底地擦出了修改的痕迹,最直接地复原了最初的版本

一般使用hard的情况会比较多

git reset --hard HEAD^

这个^代表是退回上一个版本,也可以用commit id取代

如果还没有commit,其实也可以使用–hard模式

git reset --hard HEAD

这样会直接恢复到当前版本最开始的样子,–hard模式简单有效,十分推荐~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值