如何修改git已经提交的信息及合并多次提交

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改git已经提交的信息及合并多次提交相关的知识,希望对你有一定的参考价值。

1首先使用git log 查看当前的几次提交。本文以3次提交为例。
2使用git rebase -i命令修改前三次的提交。如图所示,为三次提交的内容。我们可以修改pick命令为reword命令,实现修改commit信息。当然,也可以使用简写“r”
3保存退出。
4修改第一次commit信息,并保存退出。同理,修改两外两次的commit信息。
5成功修改了三次提交的commit信息。
6接下来说明如何合并多次提交,本文以合并三次提交为例。通过"git rebase -i HEAD^^^"进入编辑模式,使用squash命令(本文使用简写”s“,该命令用于合并多次提交),并保存退出。
7然后将三次提交的commit信息合并为一次提交的commit信息。保存退出。
8我们再次通过git log 查看提交信息,此时只有一次提交的commit信息。
参考技术A 1 首先使用git log 查看当前的几次提交。本文以3次提交为例。 2 使用git rebase -i命令修改前三次的提交。如图所示,为三次提交的内容。我们可以修改pick命令为reword命令,实现修改commit信息。当然,也可以使用简写“r” 3 保存退出。

git修改提交信息

参考技术A 方式一:直接输入命令: git commit --amend ,会进入对最后一次提交信息编辑的vim编辑器界面(普通模式下,按 i 进入编辑模式,编辑模式下按 esc 退出到普通模式,普通模式下按 : 进入命令模式,输入 wq 即可保存修改并退出vim编辑器)。

方式二:如果提交信息简单也可以直接通过如下命令行完成:
git commit --amend -m 'new commit message'

输入命令: git rebase -i HEAD~2 ,进入commit的选择界面,其中2代表最后2次提交,看你需要修改的提交位置对应修改即可,需要注意的是该值必须要小于提交总数,否则会报错。

将需要改变的提交的pick改为edit,保存并退出(选中多个,则会将多个提交合并成一个),会看到如下提示

执行命令 git commit --amend 进入vim编辑器,修改对应提交信息,过程和修改最后一次提交一样

修改成功后,执行 git log ,查看整个提价记录是否是自己需要的

确认无误后,执行 git rebase --continue ,会看到如下提示:

tip:
若是中途修改出错,或是不想继续修改,可以执行 git rebase --abort 终止

到此修改提交记录过程就结束了。

如果需要修改的提交信息已经被提交到远程仓库,那么在基于前面修改的基础上,还需要强制推送本地仓库到远程分支,也就是执行如下命令:
git push <repo name> <branch nama> -f
进行强制推送

以上是关于如何修改git已经提交的信息及合并多次提交的主要内容,如果未能解决你的问题,请参考以下文章

Git 合并多次提交

git修改提交信息

分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

有没有遇到过git提交更新文件合并成功之后文件没更新的情况

Git分支管理--创建与合并

Git分支管理--创建与合并