git rebase -i 交互式变基的使用,以及squash压缩多次提交的方法

本文介绍了如何通过SourceTree的交互式变基功能,将多个开发提交合并为一个,以保持分支历史的整洁。在开发分支完成功能后,通过rebase和squash操作,可以将多次提交压缩成一个提交,然后再合并到master,确保master分支的提交记录清晰易读。交互式变基涉及到vim编辑器的使用,虽然初看复杂,但熟悉后能有效提升代码管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

交互式变基这个词是sourceTree的翻译。

交互式变基可以将多个提交合并为一个,当然他的功能不止于此。但一般用于以下情况:

在某个分支(比如dev)下做功能开发,当测试完毕,将要合并dev到master,但由于开发过程中有太多的提交,合并到master之后会让master的整个提交记录看起来不优雅,所以这时候可以用交互式变基去合并,这样做有两个好处:

rebase 可以让合并过程中不产生合并的那次提交,也就是说合并完成后master分支图谱仍旧是一根线。
squash多个提交保证开发分支的多次提交记录合并完成后仅有一个提交。
这两步是在一次交互式变基操作中一起完成的。

其实我们在dev上开发大部分情况都仅仅涉及到了一个功能点,比如某个bug fix,合并到master后理应仅有一个提交来保证master提交记录的可读性。

具体操作:

# 当前在dev分支
$ git rebase -i master


接着就会进入到一个交互式的界面,不要被吓到…

在这里插入图片描述

不要被这个界面唬到,这么多文字其实全是注释,他只是在告诉你怎么用。简单来说,我们仅仅用到squash,最上边的三行没有注释的是我的将要rebase 和 squash的三个提交。这个窗口完全和vim一样需要你去编辑。

在当前这个页面键入i(进入编辑模式),此时会出现光标
移动光标到第二行和第三行,将pick编辑为s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别说小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值