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到远程 (图文详细说明)