Gitlab修改已push的历史commit信息

文章目录

一、需求

二、思路

三、修改过程

四、注意

五、参考链接


一、需求

项目组结合使用JIRA和Gitlab进行项目开发。其中,JIRA用于管理开发任务(每个任务都存在一个JIRA_ID),Gitlab用于进行代码版本管理。每次代码提交时,commit message的格式必须是:"JIRA:JIRA_ID 任务描述",如:JIRA:HRMS-001 用户新增。

当某次代码提交时,由于未按commit message的格式编写提交信息,需要对已push的commit message进行修改。

二、思路

如果需要修改几乎所有的提交,使用 git rebase -i --root 命令
如果只需要修改倒数第 n 次提交,可以使用 git rebase -i HEAD~n (注意 HEAD 要大写)

三、修改过程

1、git rebase -i HEAD~3 (修改最近3个提交)
2、按 i 进入编辑模式,将待修改行中的 pick 改为 reword
3、按 ESC 退出编辑模式,输入 :x 保存退出(此处为 vim 常用命令)
4、输入 git log 确认本地已修改完成
5、输入 git push --force 命令或 git push --force origin <branch> 命令,强制提交本地修改到远程仓库代码分支

四、注意

要执行上述的 git push 强制提交到远程仓库代码分支,需要确保远程仓库代码分支未处于“受保护”状态,否则,强制提交将报错!

五、参考链接

1、git 修改历史commit,都已push到远程 (图文详细说明)

猜你喜欢

转载自blog.csdn.net/cheagoun/article/details/142061872