Git撤销对远程仓库的push 或 Git撤销对远程仓库的commit提交

Git撤销对远程仓库的push 或 Git撤销对远程仓库的commit提交

【一】撤销push

  1. 执行 git log 查看日志,获取需要回退的版本号

img

  1. 执行 git reset –-soft <版本号> ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7重置至指定版本的提交,达到撤销提交的目的

然后执行 git log 查看

img

此时,已重置至指定版本的提交,log中已经没有了需要撤销的提交

git reset 命令分为两种: git reset –-soft 与 git reset –-hard ,区别是:

git reset –-soft 表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。

git reset –-hard直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码。

  1. 执行 git push origin 分支名 –-force强制提交当前版本号

至此,撤销push提交完成。

【二】撤销commit

  1. 执行 git log 查看需要撤销的commit的前面一个提交版本的id;
  2. 执行 git reset --hard commit_id ,该commit_id为需要撤销的commit的提交的前面一个提交的版本,即需要恢复到的提交的id,重置至指定版本的提交,达到撤销提交的目的
  3. 执行 git log 查看,commit提交已撤销

【三】撤销commit 细节

写完代码后,我们一般这样

git add . // 添加所有文件
git commit -m "本功能全部完成"

执行完commit后,想撤回commit,怎么办?

git reset --soft HEAD^   // 这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:

–mixed

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数 git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft

不删除工作空间改动代码,撤销commit,不撤销git add .

–hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
  • 12
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端全栈分享站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值