git rebase 合并commit日志

阅读: 评论:0

git rebase  合并commit日志

git rebase 合并commit日志

git rebase -i 实现合并commit

前言:在开发过程往往在开发分支下有几十个commit记录,而这个时候合并到master分支上,导致对于master分支来说存在没有意义的commit,在master分支上的提交应该只记录每次发版上线的版本号即可,便于回退,不需要记录那些开发分支上的commit,所以我们需要合并commit
假设我们目前的份上有3个commit分别是1,2,3

那这个时候我们需要把这2跟3合并成一个commit记录,那我们需要在git上输入命令
git rebase -i 86fe8c91c4fcbe4f86838e503a8ba1835413c708  // -i 后面跟的是需要合并的提交再往前一个提交,因为这里要合并2跟3,所以这里的id是1的commit id , 如果要合并1,2,3 那就需要找到1再往前一个的commit id
这个时候会进入vim的编辑器

这个时候我们在键盘上敲下i,让vim编辑器进入写入状态

然后可以移动光标,除了第一行之外的提交,全部将pick修改为squash(此处博主不知道为什么第一行不能修改为squash,其他行就可以,有知道的小伙伴可以告诉我),squash代表是需要被合并的提交,这里我们把3的合并到2中,所以把3的pick,修改为squash,要合并多个就修改多个即可

然后摁esc退出写入模式,然后直接输入:wq回车,即可保存退出vim模式,成功之后,会立刻进入commit编辑模式,这里是让我们给这个合并提交,写一些commit的信息

两个编辑器命令一样,摁i,进入写入模式,然后回车空出第一行来写一个信息记录这次的commit,这里随意发挥,然后同样的ESC之后,:wq保存退出

成功退出之后,可以看log,就发现2,3被合并了,至此合并commit就成功了~~

此处提一点,这个操作存在风险,如果操作出现失误或发现进入了 分支名 | rebase的状态,可以通过git rebase --abort放弃之前的合并操作
注意,合并提交并不是完全自由选择的,需要选择一个commit id作为锚点,只能合并之后的commit,比如上述的列子,选择1作为合并的锚点,那只能合并2跟3,如果要合并1,2,3 那就要选择1之前的commit id作为锚点,

本文发布于:2024-02-02 16:01:34,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686089444884.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:日志   git   rebase   commit
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23