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
投稿

猜你喜欢

  • 网页广告 Banner 设计图文手册

    2007-10-18 19:56:00
  • javascript常用的方法整理

    2023-08-23 10:57:13
  • Django如何简单快速实现PUT、DELETE方法

    2021-04-14 17:53:07
  • Python读取Pickle文件信息并计算与当前时间间隔的方法分析

    2023-11-17 20:18:13
  • asp利用Split函数进行多关键字检索

    2011-03-16 11:10:00
  • Python Tensor FLow简单使用方法实例详解

    2022-01-01 16:55:44
  • Discuz7 的提示效果如何实现

    2010-01-13 13:10:00
  • php floor()函数案例详解

    2023-06-14 16:13:03
  • js控制多图左右滚动切换效果代码分享

    2023-08-28 00:14:32
  • Go语言基于Socket编写服务器端与客户端通信的实例

    2023-07-12 08:44:11
  • python百行代码自制电脑端网速悬浮窗的实现

    2023-02-03 21:52:57
  • python任务调度实例分析

    2021-06-30 12:42:57
  • Django Session和Cookie分别实现记住用户登录状态操作

    2021-09-14 05:15:24
  • python 发送和接收ActiveMQ消息的实例

    2022-08-23 18:45:20
  • 基于Python搭建人脸识别考勤系统

    2021-07-08 10:17:42
  • 举例讲解Python设计模式编程的代理模式与抽象工厂模式

    2021-08-13 06:23:49
  • 盖座漂亮的“楼”–浅谈网页设计中的构图

    2010-09-10 12:44:00
  • python分布式环境下的限流器的示例

    2023-07-11 19:25:38
  • Dreamweaver制作网页11种技巧详解

    2007-11-05 14:00:00
  • python使用openCV遍历文件夹里所有视频文件并保存成图片

    2023-05-30 18:14:22
  • asp之家 网络编程 m.aspxhome.com