GIT 撤销已经commit的记录

改完bug准备下班,突然发现提交的代码本地编译不过。为了不被骂,马上就将提交的东西abandon掉。

具体情况:

已经push至远程服务器,但是代码暂时没有通过审核,实际上并不算真正的push上去了。

本地的commit记录还在,需要将本地commit的记录撤销掉,同时还原文件内容。

解决方案:

使用git reset 命令,后面的参数可以选择:

参数意义
--soft不删除工作空间的改动代码 ,撤销commit,不撤销git add file
--hard删除工作空间的改动代码,撤销commit且撤销add

 

 

 

 

完整命令:

git reset --hard HEAD~1

HEAD~1表示撤销最后一次commit,同理HEAD~2表示撤销最后两次commit。

其他情况:

之前还遇见一次已经成功push的代码,但是后面测试又跑出问题了,挺严重的,一个模块出问题导致整个项目都停滞,多亏组长立即帮忙搞定,我也不知道咋弄的。一顿操作猛如虎,没看懂。事后百度一波,拿自己的仓库做个实验,似乎和上面一样。

此外还遇到一些commit记录信息不规范的情况,是不必撤销的,commit信息可以直接修改。、

以及利用rebase打造线性提交历史等等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值