本文是基于idea的操作,亲测可用

前言:

很多公司都会自定义 Git - 使用强制策略,那么他的commit信息就会有固定的格式,一旦不是这个格式,就会出现push失败
但是push失败,很多也只在dev和master分支做强制限定,其他分支却没有限定(当然,我觉得这种做法有些弊端,应该所有都限定才对,但我对这个强制限定没研究过,暂且不说这个问题)
比如限定的是:所有commit都必须以ABC开头,比如ABC-1,ABC-2
那么如果我们在其他分支开发,已经提交了很多次,其中有些没有带ABC,那么将来合并到dev的时候,commit会成功,但push就会失败
这种情况,你全部回退已经不可能了,只能修改git历史提交的commit信息,在前面加上ABC

修改git历史提交的commit信息

这个是用到了git的rebase命令,大致情况就是进入rebase模式,然后修改当初某条提交的commit信息,保存退出

下面说说详细步骤:

1.找到你要改的那条commit消息,在version control栏里,从现在往回数数,看是第几条修改的
也可以在terminal栏里,命令行输入 git log ,按回车一直往回找,总之就是找到你要改的那个是多少次以前修改的。

2.知道次数后,就开始进入rebase模式了,命令行输入:git rebase -i HEAD~28
比如28就是你的次数,这时你会看到一些信息,类似于:
pick XXX 你的某条commit信息
pick XXX 你的某条commit信息
pick XXX 你的某条commit信息
如果没有找到你要改的commit信息,那就是第一步找错了,:wq推出重新找
如果你第一步数对了,应该里面有一条就是你要改的,那么将那条对应前面的pick改成edit
这个可以理解成linux的vi语法,按i进入insert模式,修改完后etc,然后:wq保存退出

3.上一步只是说找到你要改的那条,并没有真正改,此时命令行输入:git commit --amend
然后你就会看到你要改的commit信息,然后把他改成你要的格式,还是:wq保存退出

4.改完了,push一下,就没问题了。
push的时候,如果有冲突,accept theirs就行

相关参考:
1.自定义 Git - 使用强制策略的一个例子
https://git-scm.com/book/zh/v2/自定义-Git-使用强制策略的一个例子
2.修改 git 历史提交 commit 信息(重写历史)
https://www.jianshu.com/p/0f1fbd50b4be

修改git历史提交的commit信息相关推荐

  1. 修改git已提交的commit中提交者的用户名和邮箱

    如下图中,将已经提交的commit中,用户名jincheng-demo,jincheng-demo01,以及邮箱jincheng@test.com, 修改为正确的用户名:jincheng,正确的邮箱: ...

  2. git_修改git历史提交记录

    本修改仅限于修改本地的提交,提交的远程的请勿修改,以防引起开发者混乱. 首先执行 git rebase -i HEAD~3 这里首先rebase到HEAD~3的提交,这是你可以修改HEAD~2 - H ...

  3. git历史提交信息和提交时间修改

    git历史提交信息和提交时间修改 修改历史提交信息 修改历史提交时间 修改历史提交信息 执行:git rebase -i HEAD~10,这里的含义是修改最近10条数据 执行后会进入到修改界面,将要修 ...

  4. 修改 Git 已经提交记录的 用户名 和邮箱

    修改 Git 已经提交记录的 用户名 和邮箱 有关 Git 和版本控制的常见问题. 如何更改提交的作者姓名/电子邮件? 在我们进入解决方案之前,让我们找出您到底想要完成什么: 在提交之前更改作者信息 ...

  5. 如何修改git已提交记录的邮箱?

    有时候,公司提交的代码必须使用公司邮箱,而你误操作,直接把自己个人邮箱提交上去了,此时你就会遇到这样的需求:如何修改git已提交的邮箱? 而这个需求对于新手来说,往往要花费半天的时间才能理解修改过程, ...

  6. 【mac如何修改git本地提交代码的用户名和邮箱】

    mac如何修改git本地提交代码的用户名和邮箱 入职新公司,推完代码发现推送人不是自己,因为电脑里还是前同事的用户信息,所以我们需要在本地客户端重新设置一下. 一.打开mac的终端,查看本地配置 # ...

  7. Git 修改已提交的 commit 信息

    一.步骤 1.git log --oneline -5 查看最近5次commit的简要信息,输出信息为:简短commitID commit_message,可以根据需要查看最近n次的提交也可以git ...

  8. MyEclipse修改GIT工具Author内默认信息

    场景: 使用MyEclipse的GIT工具提交代码时,如果不进行修改操作,下图红框部分会是默认状态,每次都要手动修改,很麻烦. 修改方法: 1.打开设置 2.依次点击 Team -> Git - ...

  9. SAP 电商云 Spartacus UI 代码提交的 commit 信息规范

    Commit Message Format 提交消息由标题.正文和可选的页脚组成. 提交消息中的每一行的最大长度为 100 个字符. 当您单击 Squash and merge 时,会出现两个文本字段 ...

最新文章

  1. uestc 250 数位dp(水)
  2. Android Architecture Components Part2:LiveData
  3. linux 软件包管理设置,Linux速通08 网络原理及基础设置、软件包管理
  4. php hash代码下载,PHP中的哈希表 hash_insert
  5. unity3d 2D版本见缝插针demo
  6. c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...
  7. js浏览器页面生命周期
  8. 分享一下自己用c++写的小地图
  9. 软考网络工程师好考吗?怎么备考?
  10. 小红书关键词搜索商品列表API接口(分类ID搜索商品数据接口,商品详情接口)
  11. 高电平输入好还是rca输入好_dsp高电平和低电平输入哪个好
  12. PostGIS教程十一:空间索引
  13. 2023新年快乐,友盟+伴你岁岁年年
  14. 335x系列平台-ADC接口配置和最大采样速率
  15. jMonkeyEngine译文 FlagRush7(1)——拥抱大地让我们驾驶的不再是Box
  16. cad页面布局快捷键_CAD页面设置管理器快捷键命令(如何设置页面布局)
  17. 8.10-8.13 shell的cut,sort_wc_uniq,tee_tr_split,特殊符号
  18. [黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程
  19. WIN二种安装方式UEFI和BIOS方式引导修复
  20. n!的任意质因数的个数

热门文章

  1. Go-cron定时任务
  2. Attention Model
  3. 对PostgreSQL cmin和cmax的理解
  4. Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
  5. LPC2000 UART串口使用心得
  6. 《Head First 设计模式》专题上线
  7. 2.1.5编码与调制(1)
  8. 【数据结构基础】-线性表的顺序实现(数组实现)基本操作
  9. CentOS7.7安装MySQL5.6并配置环境变量(详细版)
  10. 使用github托管代码以及github一些最常用的命令