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

作者:hanchao5272 时间:2022-05-31 04:33:28 

有关修改提交(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

来源:https://blog.csdn.net/hanchao5272/article/details/79435730

标签:Git,push,远端仓库,commit
0
投稿

猜你喜欢

  • Python判断telnet通不通的实例

    2023-07-27 14:56:08
  • mysql如何分组统计并求出百分比

    2024-01-22 02:07:51
  • 解析array splice的移除数组中指定键的值,返回一个新的数组

    2023-11-18 09:51:28
  • 细谈Mysql的存储过程和存储函数

    2024-01-23 11:05:24
  • python中update的基本使用方法详解

    2021-12-22 03:57:40
  • python+ffmpeg视频并发直播压力测试

    2023-09-02 10:30:33
  • ASP长文章分页代码实例

    2007-10-02 17:04:00
  • python程序中调用其他程序的实现

    2021-08-07 12:33:16
  • 对YOLOv3模型调用时候的python接口详解

    2023-05-31 00:58:57
  • python中如何写类

    2023-09-02 18:19:58
  • Javascript实现通过选择周数显示开始日和结束日的实现代码

    2023-08-23 13:44:52
  • 运行(runCode)复制(copyCode)保存(saveCode)代码框方法

    2007-10-21 08:41:00
  • Python教程之pytest命令行方式运行用例

    2022-08-01 22:08:06
  • 分享Pycharm中一些不为人知的技巧

    2023-10-04 04:52:54
  • ASP Recordset 分页显示数据的方法(修正版)

    2011-04-10 10:42:00
  • Python pickle模块实现对象序列化

    2022-03-04 03:51:22
  • 编写python程序的90条建议

    2022-04-30 00:36:22
  • python爬虫设置每个代理ip的简单方法

    2022-11-01 19:18:52
  • 使用python连接mysql数据库之pymysql模块的使用

    2024-01-16 13:12:11
  • python Canny边缘检测算法的实现

    2023-04-23 20:41:55
  • asp之家 网络编程 m.aspxhome.com