其他分享
首页 > 其他分享> > git如何修改某次历史提交的commit信息和代码

git如何修改某次历史提交的commit信息和代码

作者:互联网

问题

开发过程中,我们可能遇到一次merge多个commit的情况,在merge之前我们做测试的时候发现某次提交有问题,这时候我们又不想新提一个commit来解决这个问题,这时候该怎么办?

解决方法

git log 查看历史提交

A---B(有bug)----C----D---E

发现 B 提交有bug,我们想要直接修改B,但是又不想多增加F提交;或者我们想修改B提交的commit信息。

git rebase 修改历史提交

1. git rebase -i HEAD~5		rebase HEAD之前的5次提交
2. 将需要修改的commit所在的行前面的 pick 修改为edit或者e

利用命令行修改文本,将光标移动至B提交前面pick,然后输入i进入修改模式,将pick改为e,然后输入wq保存
pick b4ba123435 A
e 0ae807b99c B
pick 70890e2e86 C
pick aa0778f109 D
pick 630cc16edb E

3. 之后会发现git的分支信息变为   master|REBASE-i 2/5
4. 修改bug代码,如果只需要修改commit信息可以跳过此步
5. git commit --amend		以当前代码重新覆盖本次提交
6. 修改commit信息,若不需要修改commit信息则可以直接wq保存结束
7. git rebase --continue	继续rebase,如果有冲突则解决冲突

注意

git rebase --abort 终止rebase
git push [仓库名] [分支] -f

标签:git,rebase,修改,某次,提交,pick,commit
来源: https://blog.csdn.net/Numb_ZL/article/details/121486632