> 电脑数码
git多次commit合成一次(git多次commit如何push)
导语:git rebase将多次commit合并为一条
概述
在项目进行多次迭代优化时会有多次commit记录, 而这几次记录完全可以当做一次commit, 这就会导致分支历史记录很混乱,如:
在回退版本的时候难以选择,通常需要每条commit都要检查一遍, 这时候 rebase 功能就发挥出来了。
将多次commit合并为一条
现在把这4条合并为1条记录
操作步骤
1、-i 指定要合并的那一条记录的上一条 commitId
git rebase -i e88835de905ad396f61a0dc8c040a8ac8a34f3f8
或者使用数字的方式
git rebase -i HEAD~4
2、此时会进入 rebase 交互式终端
这里有几个关键字要说下:
pick 使用这一次commitsquash/s 使用commit,但合并到以前的commit中d 移除这一次提交我们要把最后3次提交合并到第一条,所以将最后3个 pick 改成 s, 接着 wq保存退出。
接着会进入到另一个交互式终端,如果commit message 无异议可以直接 wq 保存退出,
为了便于大家理解,我将commit message修改了下
如果执行到这一步时想放弃之前rebase的操作,可以执行以下命令:
git rebase --abort
3、推送到远程仓库
git push --force
最后看看提交后的历史, 这下美观了吧。
本文内容由小冰整理编辑!