Skip to content

git rebase 合并多个提交

Updated: at 08:22,Created: at 03:41

rebase可以修改记录,我总是做小更改就提交,仓库有好多看起来很乱的 git没有可以把最后一个提交提交到服务器的能力,可以用rebase来做到把多个提交合并为一个。使用这个命令很简单,下面就来告诉大家如何使用这个命令

先使用分支做更改,如果直接在 master 分支做,可能会因为开始做不知道步骤弄错了,这样把自己写的代码不知道放哪就不好。

下面的代码可以让大家新建一个分支并且到这个分支来做把多个提交合并为一个

git branch 更改
git checkout 更改

提交更改

git commit 更改

然后到主分支看最新提交

git checkout master
git log

这里写图片描述

记下那提交的 id 然后 把更改合并master分支

git merge 更改的id

用rebase把更改多个合为最后一个

git rebase -i 记下的提交

这里写图片描述

在打开的文件的pick除了第一个pick,改为s

修改方法:按下 i 修改

这里写图片描述

这里写图片描述

修改完,按esc,然后输入:wq保存

然后git会让你写修改commit,按i修改,#开头的是注释,commit是合并多个的。

假如我有三个提交

commit : A
commit : B
commit : C

合并后我就可以写commit : ABC

这里写图片描述

写完按esc,:wq保存

提交就是最后一个保存的 commit 这样可以多个提交合并为一个。


知识共享许可协议

原文链接: http://blog.lindexi.com/post/git-rebase-%E5%90%88%E5%B9%B6%E5%A4%9A%E4%B8%AA%E6%8F%90%E4%BA%A4

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系