修改git历史提交的commit信息
本文是基于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信息相关推荐
- 修改git已提交的commit中提交者的用户名和邮箱
如下图中,将已经提交的commit中,用户名jincheng-demo,jincheng-demo01,以及邮箱jincheng@test.com, 修改为正确的用户名:jincheng,正确的邮箱: ...
- git_修改git历史提交记录
本修改仅限于修改本地的提交,提交的远程的请勿修改,以防引起开发者混乱. 首先执行 git rebase -i HEAD~3 这里首先rebase到HEAD~3的提交,这是你可以修改HEAD~2 - H ...
- git历史提交信息和提交时间修改
git历史提交信息和提交时间修改 修改历史提交信息 修改历史提交时间 修改历史提交信息 执行:git rebase -i HEAD~10,这里的含义是修改最近10条数据 执行后会进入到修改界面,将要修 ...
- 修改 Git 已经提交记录的 用户名 和邮箱
修改 Git 已经提交记录的 用户名 和邮箱 有关 Git 和版本控制的常见问题. 如何更改提交的作者姓名/电子邮件? 在我们进入解决方案之前,让我们找出您到底想要完成什么: 在提交之前更改作者信息 ...
- 如何修改git已提交记录的邮箱?
有时候,公司提交的代码必须使用公司邮箱,而你误操作,直接把自己个人邮箱提交上去了,此时你就会遇到这样的需求:如何修改git已提交的邮箱? 而这个需求对于新手来说,往往要花费半天的时间才能理解修改过程, ...
- 【mac如何修改git本地提交代码的用户名和邮箱】
mac如何修改git本地提交代码的用户名和邮箱 入职新公司,推完代码发现推送人不是自己,因为电脑里还是前同事的用户信息,所以我们需要在本地客户端重新设置一下. 一.打开mac的终端,查看本地配置 # ...
- Git 修改已提交的 commit 信息
一.步骤 1.git log --oneline -5 查看最近5次commit的简要信息,输出信息为:简短commitID commit_message,可以根据需要查看最近n次的提交也可以git ...
- MyEclipse修改GIT工具Author内默认信息
场景: 使用MyEclipse的GIT工具提交代码时,如果不进行修改操作,下图红框部分会是默认状态,每次都要手动修改,很麻烦. 修改方法: 1.打开设置 2.依次点击 Team -> Git - ...
- SAP 电商云 Spartacus UI 代码提交的 commit 信息规范
Commit Message Format 提交消息由标题.正文和可选的页脚组成. 提交消息中的每一行的最大长度为 100 个字符. 当您单击 Squash and merge 时,会出现两个文本字段 ...
最新文章
- uestc 250 数位dp(水)
- Android Architecture Components Part2:LiveData
- linux 软件包管理设置,Linux速通08 网络原理及基础设置、软件包管理
- php hash代码下载,PHP中的哈希表 hash_insert
- unity3d 2D版本见缝插针demo
- c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...
- js浏览器页面生命周期
- 分享一下自己用c++写的小地图
- 软考网络工程师好考吗?怎么备考?
- 小红书关键词搜索商品列表API接口(分类ID搜索商品数据接口,商品详情接口)
- 高电平输入好还是rca输入好_dsp高电平和低电平输入哪个好
- PostGIS教程十一:空间索引
- 2023新年快乐,友盟+伴你岁岁年年
- 335x系列平台-ADC接口配置和最大采样速率
- jMonkeyEngine译文 FlagRush7(1)——拥抱大地让我们驾驶的不再是Box
- cad页面布局快捷键_CAD页面设置管理器快捷键命令(如何设置页面布局)
- 8.10-8.13 shell的cut,sort_wc_uniq,tee_tr_split,特殊符号
- [黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程
- WIN二种安装方式UEFI和BIOS方式引导修复
- n!的任意质因数的个数
热门文章
- Go-cron定时任务
- Attention Model
- 对PostgreSQL cmin和cmax的理解
- Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
- LPC2000 UART串口使用心得
- 《Head First 设计模式》专题上线
- 2.1.5编码与调制(1)
- 【数据结构基础】-线性表的顺序实现(数组实现)基本操作
- CentOS7.7安装MySQL5.6并配置环境变量(详细版)
- 使用github托管代码以及github一些最常用的命令