Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

 更新时间:2020年09月15日 10:02:45   作者:hanchao5272  
这篇文章主要介绍了Git撤销已经推送(push)至远端仓库的提交(commit)信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

有关修改提交(git commit)信息的方法可以参考: Git commit –amend 修改提交信息

有时,在git push之后,才发现还有一些代码需要进行很小的改动,这些改动在原则上不应该作为一次新的提交。

这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送。

为了实现这个目的,需要进行三步操作。

1.撤销提交信息

首先,通过git log查看提交信息,以便获取需要回退至的版本号:

$ git log
commit a44822002522f2ab1e3a5e2a1cec00a7d3d02185 (HEAD -> master, origin/master, origin/HEAD)
Author: hanchao5272 <89298141@qq.com>
Date: Sun Mar 4 11:14:55 2018 +0800

CSDN-java反射06-成员变量Field-代码优化
commit aa909cff2239536df14820fe086d96305b24e9f1
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800

CSDN-java反射-修饰符-代码优化

我们需要撤销CSDN-java反射06-成员变量Field-代码优化这次提交,所以需要回退至的版本是CSDN-java反射-修饰符-代码优化,即需要回退至的版本号是:aa909cff2239536df14820fe086d96305b24e9f1。

然后,通过git reset –soft <版本号>重置至指定版本的提交,达到撤销提交的目的:

$ git reset --soft aa909cff2239536df14820fe086d96305b24e9f1

参数soft指的是:保留当前工作区,以便重新提交

还可以选择参数hard,会撤销相应工作区的修改,一定要谨慎使用

然后,通过git log确认是否成功撤销:

$ git log
commit aa909cff2239536df14820fe086d96305b24e9f1 (HEAD -> master)
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800

CSDN-java反射-修饰符-代码优化

已经成功撤销。

2.撤销

通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的:

$ git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
To github.com:hanchao5272/myreflect.git
+ a448220...aa909cf master -> master (forced update)

必须添加参数force进行强制提交,否则会提交失败,并报错:

$ git push origin master
To github.com:hanchao5272/myreflect.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:hanchao5272/myreflect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

报错原因:本地项目版本号低于远端仓库版本号。

3.修改代码,重新提交和推送

//修改代码,添加修改
git add .
//重新提交
git commit -m "CSDN-java反射06-成员变量Field-代码优化"
//重新推送
git push origin master

以上这篇Git撤销已经推送(push)至远端仓库的提交(commit)信息操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • git stash(储藏)的用法总结

    git stash(储藏)的用法总结

    本文详细讲解了git stash(储藏)的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Git 教程之服务器搭建详解

    Git 教程之服务器搭建详解

    本文主要介绍Git 服务器搭建的知识,这里整理了详细的资料,和命令详解,有需要的小伙伴可以参考下
    2016-09-09
  • Git原理和常用操作

    Git原理和常用操作

    今天小编就为大家分享一篇关于Git原理和常用操作的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • JavaScript/VBScript脚本程序调试(Wscript篇)

    JavaScript/VBScript脚本程序调试(Wscript篇)

    在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些WMI函数来自动安装卸载程序之类的。
    2009-09-09
  • Postman 使用指南及小技巧

    Postman 使用指南及小技巧

    Postman 简化了构建 API 的每个步骤,并简化了协作,这样就可以更快地创建 API。接下来通过本文给大家介绍Postman 使用指南及小技巧,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • firefox 扩展开发技巧

    firefox 扩展开发技巧

    firefox 扩展开发
    2009-06-06
  • GIT相关-IDEA/ECLIPSE工具配置的教程详解

    GIT相关-IDEA/ECLIPSE工具配置的教程详解

    这篇文章主要介绍了GIT相关-IDEA/ECLIPSE工具配置的教程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式及应用场景分析

    云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式及应用场景分析

    Tencent CloudBase Toolkit 是云开发的 VS Code(Visual Studio Code)插件。这篇文章主要介绍了云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式,需要的朋友可以参考下
    2020-07-07
  • vsCode中配置setings.json的技巧

    vsCode中配置setings.json的技巧

    本文给大家分享的是一个在vsCode中配置好的setings.json的样例,可以给大家一个参考,有需要的小伙伴可以来看下
    2020-01-01
  • Git如何修改已提交的commit注释

    Git如何修改已提交的commit注释

    这篇文章主要介绍了Git如何修改已提交的commit注释问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论