git add或commint或push后如何撤销

平常项目比较多,代码分支也比较多,很容易出现代码推送错误,撤销修改、冲突等情况。无论手动操作或vscode左上角源代码管理或者使用SourceTree工具,都难免会发生。解决场景如下:

add .

命令:git reset HEAD

一般这种比较容易,此时代码还没commit时可以在编辑器上看到,也可以直接手动撤销

commit

commit时,编辑器上是看不到你修改提交的代码,此时处于待推送隐藏状态,但未进行push推送命令,想撤销:

命令:git reset --soft HEAD^

这样就成功撤销了commit。此时代码回到了commit前的状态,可以对代码进行增删改查。

也可以解决代码冲突:远程分支代码未pull拉取,直接push的,结果就是推不上去,会有冲突提示,此时应该撤销代码,拉取远程代码后,再进行操作

有人好奇,为什么加此命令就这么神奇,到底做了什么操作???

其实HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。

--soft

意思是不删除工作空间的改动代码 ,撤销commit,不撤销add

此时有小伙伴问了,我想连add状态也一起都撤销呢,当然也有办法~

命令:使用git reset --hard HEAD^ 这样连add也撤销了。

--hard

意思是删除工作空间的改动代码,撤销commit且撤销add

顺便还有一个常遇到的情况

如果commit后面的注释写错了,先别急着撤销!!!,可以运行git commit --amend

进入vim编辑模式,修改一下注释信息就可以了

push到远端

切换到指定分支 git checkout 分支名

撤回到需要的版本 git reset --soft 需要回退到的版本号(git log命令出来就看到每条提交的记录commit后面一串数字加字母组合)

提交撤销动作到服务器,强制提交当前版本号

git push origin 分支名 --force

此命令都是直接在代码编辑器里操作,无论是用什么代码管理工具提交命令操作时,都可以用此命令尝试

感谢支持,点赞,转发,后期不定时更新内容,感兴趣的小伙伴可以关注后续文章!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值