git rebase 与 git cherry-pick 详解

本文详细介绍了git rebase和git cherry-pick的使用。git rebase允许将当前分支与指定分支合并,形成新的提交历史,而git cherry-pick可以按指定顺序选取多个提交应用到当前分支。

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

git rebase 与 git cherry-pick 详解

1. git reabse

在 git 命令中,git rebase命令可以令当前所在分支与指定分支合并,作为一个新提交。但之前的记录保留在原地。他有两种参数形式:

# 将当前记录及当前记录以上的记录(截止到公共父记录),合并到目的分支
$ git rebase <目的分支>
# 将一个记录及此纪录以上的记录,合并到目的分支
# 关键是参数的顺序
$ git rebase <目的分支> <待移动分支>

假设我们当前有如下场景:
image-20220616160410607
执行git rebase main的结果如下:
image-20220616160446255
执行git rebase main C4的结果如下:
image-20220616160610134
另外值得一提的是 git rebase -i

git rebase -i命令可以打开一个交互式的窗口,他有下面两种参数形式:

# 将当前记录及当前记录以上的记录(截止到公共父记录),合并到目的分支
$ git rebase -i <目的分支>
# 将一个记录及此纪录以上的记录,合并到目的分支
# 关键是参数的顺序
$ git rebase -i <目的分支> <待移动分支>

假设我们当前有如下场景:
image-20220616160410607
执行git rebase -i main的结果如下:
image-20220616160759993
可以对本来要用移动的几个节点进行交互式处理。
执行git rebase -i main C4的结果如下:
image-20220616160840230
可以对本来要用移动的几个节点进行交互式处理。

2. git cherry-pick

下面是此命令的格式,可以按指定的顺序择取数个提交,放置在当前节点下方。

$ git cherry-pick <有序参数列表>

假设我们当前有如下场景:
image-20220616160410607
执行git cherry-pick C6 C2的结果如下:
image-20220616161135445

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值