git rebase合并commit日志

【git rebase合并commit日志】git-i 实现合并 前言:在开发过程往往在开发分支下有几十个记录,而这个时候合并到分支上,导致对于分支来说存在没有意义的,在分支上的提交应该只记录每次发版上线的版本号即可,便于回退,不需要记录那些开发分支上的,所以我们需要合并 假设我们目前的份上有3个分别是1,2,3
那这个时候我们需要把这2跟3合并成一个记录,那我们需要在git上输入命令
git rebase -i 86fe8c91c4fcbe4f86838e503a8ba1835413c708// -i 后面跟的是需要合并的提交再往前一个提交,因为这里要合并2跟3,所以这里的id是1的commit id , 如果要合并1,2,3 那就需要找到1再往前一个的commit id
这个时候会进入vim的编辑器
这个时候我们在键盘上敲下i,让vim编辑器进入写入状态
然后可以移动光标,除了第一行之外的提交,全部将pick修改为(此处博主不知道为什么第一行不能修改为,其他行就可以,有知道的小伙伴可以告诉我),代表是需要被合并的提交,这里我们把3的合并到2中,所以把3的pick,修改为,要合并多个就修改多个即可
然后摁esc退出写入模式,然后直接输入:wq回车,即可保存退出vim模式,成功之后,会立刻进入编辑模式,这里是让我们给这个合并提交,写一些的信息
两个编辑器命令一样,摁i,进入写入模式,然后回车空出第一行来写一个信息记录这次的,这里随意发挥,然后同样的ESC之后,:wq保存退出
成功退出之后,可以看log,就发现2,3被合并了,至此合并就成功了~~
此处提一点,这个操作存在风险,如果操作出现失误或发现进入了 分支名 | 的状态,可以通过git--abort放弃之前的合并操作 注意,合并提交并不是完全自由选择的,需要选择一个 id作为锚点,只能合并之后的,比如上述的列子,选择1作为合并的锚点,那只能合并2跟3,如果要合并1,2,3 那就要选择1之前的 id作为锚点,