前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >撤销远程提交-每天三分钟玩转Git (6)

撤销远程提交-每天三分钟玩转Git (6)

作者头像
机智的程序员小熊
发布2019-12-12 16:17:25
2.4K0
发布2019-12-12 16:17:25
举报
文章被收录于专栏:技术面面观技术面面观
让我们来明目张胆的diss老板。——编程三分钟

第 6 篇

撤销远程提交

要是我们"不小心"把骂老板的话给提交到远程了,马上其他同事都要看到了,要是被发现就全完了,这个时候我们还来得及撤销吗?

创建一个犯罪现场(手抖提交到了远程仓库)

我们来看看github上的远程仓库。

完了完了,真的提交了(我刚刚push的)现在的状态是:

提交命令:

代码语言:javascript
复制
git add -A
git commit -m "[+]骂了我的老板"
git push origin master

好了,犯罪现场创建完成!

撤销远程提交

让我们冷静下来,用 撤消当前commit的方法 先撤消本地的commit,这次我们来试试用hard参数来撤消(不确定用hard 还是 soft,可以到上一篇推送中再做确认-> 撤消当前commit的方法

使用git reset --hard head^回滚到上一个commit

  1. 使用git status查看现在的工作区情况,提示Your branch is behind 'origin/master' by 1 commit,代表成功表了上一次的提示状态
  2. nothing to commit, working tree clean代表这次的修改全没了,清理的算是一个彻底。如果还想找回来怎么办,我们还真是有办法让你找回来的,以后的推送救命的后悔药会详细讲述。

这个时候我们的状态是:

这个时候我们再把他强制推送到远程:

  1. git push origin master --force 命令强制提交到远程仓库(注意,如果是在团队合作的情况下,不到迫不得已不要给命令加--force参数)
  2. 让我们看看github

真的撤消了远程仓库,长舒一口气。

就是这么简单!

小结

今天的三分钟我们学会了撤回远程的提交,他的步骤是:

  1. git reset --hard head^回滚到上一个commit
  2. git push origin master --force 命令强制提交到远程仓库

当然了,我们也可以用 git reset --soft head^回滚到上一个commit的时候,保存本地代码,然后使用git stash命令把现场代码保存起来,再强制提交,这样就可以保留修改以备后续使用啦!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机智的程序员小熊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档