git 良好实践之频繁commit 谨慎push

本文探讨了git使用中commit的频繁原则,强调每次commit应有意义且尽可能频繁。同时,介绍如何通过rebase谨慎地压缩无意义的commit,以保持提交历史的整洁。通过一个例子展示了如何使用交互式rebase合并多次commit,并给出了具体的命令操作流程。
摘要由CSDN通过智能技术生成

git 的commit和push是频繁与谨慎的统一

所谓频繁,是指对于git commit的频率定义应该是,在保证每次commit有意义的基础上“最大限度”的频繁。
所谓谨慎,是指在push之前压缩那些临时的或者无意义的commit,这要靠git 的rebase实现。

使用rebase实现commit压缩

rebase(变基)主要用来整合来自不同分支的修改,与merge要达到的目的一样。
它的原理是首先找到两个分支 的最近共同祖先 ,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件, 然后将当前分支指向目标基底 , 最后以此将之前另存为临时文件的修改依序应用。
如果我们将rebase应用在同一分支的之前的某次commit,结果会怎么样?
通过以上原理我们可以看出,是的,在一个分支上用没有任何变化,没任何用。。。

也不尽然,我们使用交互模式执行rebase,通过简单修改就可以实现commit的“合并”。

例子

比如,本地修改时做了若干次提交,很乱,如下,总共五次提交

$ git log --pretty=format:"hash: %h commit message: %s"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值