git rebase 的使用(一)合并多次提交记录

时间:2024-03-21 15:12:54

简介

有时候编写一个功能或者需求会提交多次commit,而有些commit只是修改了一些无关紧要的东西。而过多的commit记录是不利于codereview,并且当遇到特殊情况需要做版本回滚的时候,过多的commit记录也会带来问题。这个时候就需要把一些commit记录进行合并。让每个commit都是一个完整的功能,做到每个commit都是有必要的。

使用示例

现在工作目录中创建一个测试文件gitrebase.txt,并添加内容first commit,提交。
git rebase 的使用(一)合并多次提交记录
接着再分别提交两次second commit和third commit。如图。
git rebase 的使用(一)合并多次提交记录

三次commit的信息分别是first commit,second commit,third commit。接下来使用rebase指令把前两次commit合并。

git rebase -i HEAD~3

使用上面的指令查看最近三次commit,如图所示。
git rebase 的使用(一)合并多次提交记录
进入编辑模式,第一列为操作指令,第二列为commit号,第三列为commit信息。
pick:保留该commit;
reword:保留该commit但是修改commit信息;
edit:保留该commit但是要修改commit内容;
squash:将该commit和前一个commit合并;
fixup:将该commit和前一个commit合并,并不保留该commit的commit信息;
exec:执行shell命令;
drop:删除该commit。
git rebase 的使用(一)合并多次提交记录
保存退出,进入编辑框,编辑合并后的commit信息“1&2 commit.”到this is a combination of 2 commits.保存退出。
git rebase 的使用(一)合并多次提交记录
接下来再使用git log或者使用git rebase -i查看commit信息,如下:
git rebase 的使用(一)合并多次提交记录
一二两次提交合并成功。