(三)rebase合并多条提交——如何优雅的使用git

问题出现:
小王负责一个模块的开发任务,并在一周内完成了整个模块的开发,小王分别在第一天、第三天和第五天进行的代码提交和推送,于是提交记录如图,代码记录中小王的一个模块与其他人的多次提交产生交叉,有没有办法合并这三条记录呢,且保留小王每次的提交信息呢?

image.png

问题解决:使用git rebase -i命令
小王可以在每次想要提交代码时,仅进行git commit 而不使用git pull,在最后一天,小王已经有了三次commit没有推送到远端,使用git rebase -i 命令,可以进一步处理这些commit:

  1. 执行git rebase -i ,弹出如下窗口图1,其中前三行表示本地的三次提交,每条的提交以开头的pick,pick代表选用这条提交,关于pick的解释可以再下边Commands中找到相关解释,现在我们需要将提交记录归并为一条,只需要将第二次和第三次提交融合到第一次即可,所以我们将他们的pick修改为s,如图2,然后退出并保存,会进入到下一个编辑页面,你可以再次编辑这三条提交的message信息,这里需要注意,不要删除第二条和第三条的commit messge,如果想要删掉,可以将pick修改为f,表示仅将代码融合到上次,不使用mesage,那么继续如图3,修改后保存并退出,可以看到原来的3条commit已经变成了1条,如图45


    图1.png
图2.png
图3.png
图4.png
图5.png

总结:
通过git rebase -i合并多条提交,提交记录由3条变为1条,代码记录又干净了不少。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容