Git 回退

回退分几种情况下的回退,源文件如下
在这里插入图片描述
修改第十行,添加"111-111-111",保存
在这里插入图片描述

1、还没有执行git add操作

还未执行git add,需要将文件内容回退到未修改前

git checkout hello.c

执行之后"111-111-111"的修改直接消失

2、执行了git add 还没执行git commit

执行了git add之后,git status显示的状态就已经发生了变化,如下图
在这里插入图片描述
此时执行命令

git reset HEAD hello.c

将文件回退到git add之前,执行后结果如下
在这里插入图片描述
此时已经可以使用1方法中的操作来处理了

3、已经执行了git commit

在这里插入图片描述
现在需要回退提交a4dc6915d6b9edfb0e9e64ffaec5848b068203d7,直接执行命令

git reset 424bbe301394197da60a42b080131cc363987603

在这里插入图片描述
提交记录已经消失了,然后git status查看文件也在处于被修改了的状态
在这里插入图片描述
此时又已经可以使用1方法中的操作来处理了

–hard参数

在回退的时候可以使用参数--hard,它的作用是一步到位,清空一切。上述的几种回退,都是分步骤来执行的,都需要最终执行一步git checkout hello.c来恢复到未接修改状态。以"2、执行了git add 还没执行git commit"这个回退来做个试验,执行如下命令

git reset HEAD --hard

执行完成之后使用git status查看状态
在这里插入图片描述
啥修改都没有了,假如辛辛苦苦修改了好多,只是为了弥补一点错误而需要回退,那么要哭了。。。所以慎用!慎用!慎用!

回退同步到远程分支

其实回退完全不需要管远程仓库是什么情况,本地仓库修改完了push就好了。
在这里插入图片描述
远程显示两次提交,提交后的代码为
在这里插入图片描述
需要将这两笔回退掉,执行上面的"3、已经执行了git commit"进行本地回退
在这里插入图片描述
回退完成之后执行如下命令,推送到服务器

 git push -f

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值