沙滩星空的博客沙滩星空的博客

Git使用rebase命令合并分支和多个commit提交

分支合并

# 从master分支新建一个dev分支,并切换到dev分支
git checkout -b dev
# 修改dev分支,并进行commit提交
# dev分支提交后,切换会master分支
git checkout master
# rebase合并dev分支到master分支
git rebase dev

提交记录合并

rebase 是”变基”的意思,[多次] commit 形成的 git workflow,使用 rebase,我们可以改变这些历史提交,修改 commit 信息,将多个 commit 进行组合。

操作前是这样的.

$ git log
commit f45736f03ac3e777c3a9cd4b4bd6769fc1358230 (HEAD -> develop, origin/develop)
Author: wuhanqing <whq78164@qq.com>
Date:   Sat Jun 20 22:19:36 2020 +0800

    公司微名片

commit 0020bf712a41a98b3420978b32b5136c5e8787ab
Author: wuhanqing <whq78164@qq.com>
Date:   Tue Jun 2 18:03:36 2020 +0800

    修复APP微信登录时,第一次点击显示 用户未注册或未绑定微信 的BUG

commit 7b003ce40ac59cf403672e27003d1efa78ae1acb
Author: wuhanqing <whq78164@qq.com>
Date:   Thu May 14 17:59:58 2020 +0800

    APP API V209 订单详情 物流信息 会员加盟

commit f0c125c3d145f0b00c887e59fbb132d47bc3e7c9
Author: wuhanqing <whq78164@qq.com>
Date:   Fri May 8 18:58:50 2020 +0800

    晚上支付宝APP支付的API 006

commit ae8e60811e587098283f1459acb4c18cbbfe6a1d
Author: wuhanqing <whq78164@qq.com>
Date:   Fri May 8 16:22:36 2020 +0800

    完善支付宝APP支付的API 005

我们来合并最近的 5 次提交纪录

git rebase -i HEAD~5

命令执行完,会弹出一个编辑框.前5行就是你最近提交的commit记录.
我这边前5行,每行开头都是 pick , 我把第一行和最后一行之外的 pick 都改成 s
然后保存并退出编辑.

pick ae8e608 完善支付宝APP支付的API 005
s f0c125c 晚上支付宝APP支付的API 006
s 7b003ce APP API V209 订单详情 物流信息 会员加盟
s 0020bf7 修复APP微信登录时,第一次点击显示 用户未注册或未绑定微信 的BUG
pick f45736f 公司微名片

退出前面的编辑后,会再跳出一个操作结果的内容的确认编辑框.
可以修改rebase合并之后的commit内容.不修改则直接保存退出.我这边是直接保存退出的.

# This is a combination of 4 commits.
# This is the 1st commit message:

完善支付宝APP支付的API 005

# This is the commit message #2:

晚上支付宝APP支付的API 006

# This is the commit message #3:

APP API V209 订单详情 物流信息 会员加盟

# This is the commit message #4:

修复APP微信登录时,第一次点击显示 用户未注册或未绑定微信 的BUG

查看合并后的新的提交记录

$ git log
commit d667b6b629fba5b306cc45aa5b4d3fa2385193cb (HEAD -> develop)
Author: wuhanqing <whq78164@qq.com>
Date:   Sat Jun 20 22:19:36 2020 +0800

    公司微名片

commit 1f7aa2f59e0b5f32d7c2965eb30f835a21d39351
Author: wuhanqing <whq78164@qq.com>
Date:   Fri May 8 16:22:36 2020 +0800

    完善支付宝APP支付的API 005

    晚上支付宝APP支付的API 006

    APP API V209 订单详情 物流信息 会员加盟

    修复APP微信登录时,第一次点击显示 用户未注册或未绑定微信 的BUG

这一次彻底搞懂 Git Rebase https://www.codercto.com/a/45325.html
Git 如何优雅地回退代码 https://zhuanlan.zhihu.com/p/108060432

未经允许不得转载:沙滩星空的博客 » Git使用rebase命令合并分支和多个commit提交

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址