git 多个 commit合并成一个提交

这里 提交了4次,现在要把这4次合并成一个 commit提交,这样做的目的是:保持主分支 commit 历史干净,一个功能对应一个提交,回滚方便,review 时更清晰。
1:先回到分支,我这里是feat/purchase_limit
git checkout feat/purchase_limit2:假设要合并最近 4 次提交:
git rebase -i HEAD~4
执行后会打开编辑器。
会看到类似:
然后改,这里就和vi编辑器一样pick a7218105 用户限购 pick 608b8785 虚拟下单数量 pick cdfec429 限制每日 pick 7353cd6f 复用之前字段
保留第一条 pick
后面改成 squash(或者简写 s)
改成:
操作和linux的vi 编辑器一样,保存退出。pick a7218105 用户限购 s 608b8785 虚拟下单数量 s cdfec429 限制每日 s 7353cd6f 复用之前字段
3:刚刚保存退出后,
Git 会再次自动打开编辑器。
你会看到:
# This is a combination of 4 commits. # The first commit's message is: 用户限购 # This is the 2nd commit message: 虚拟下单数量 # This is the 3rd commit message: 限制每日
可以改,也可以不改:我这里改成,注释不用管,git会自己忽略,把上面的中文删掉即可。
用户限购与虚拟购买功能
保存退出。
4:直接推送:
git push origin feat/purchase_limit --force-with-lease5:再查看,现在commit干净了
