git merge vs rebase vs cherry-pick

转载自:http://zires.info/category/git/

git merge是用来合并两个分支的。

# 将b分支合并到当前分支
git merge b

git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了。

# 先在v3.0中查看要合并的commit的commit id
git log
# 假设是 commit f79b0b1ffe445cab6e531260743fa4e08fb4048b

# 切到v2.0中
git check v2.0

# 合并commit
git cherry-pick f79b0b1ffe445cab6e531260743fa4e08fb4048b

git rebase有点类似git merge,但是两者又有不同,打个比方,你有两个抽屉A和B,里面都装了衣服,现在想把B中的衣服放到A中,git merge是那种横冲直撞型的,拿起B就倒入A里面,如果满了(冲突)再一并整理;而git rebase就很持家了,它会一件一件的从B往A中加,会根据一开始放入的时间顺序的来加,如果满了你可以处理这一件,你可以继续加,或者跳过这一件,又或者不加了,把A还原。所以merge适合那种比较琐碎的,简单的合并,系统级的合并还是用rebase吧。

专业的区别请移步到这里合并和衍合

# 合并b
git rebase b

# 处理完冲突继续合并
git rebase --continue

# 跳过
git rebase --skip

# 取消合并
git rebase --abort
Git mergecherry-pick是两种不同的操作,用于将一个分支的更改合并到另一个分支中。 Git merge用于将一个分支的更改并入到另外一个分支中去。这种操作会创建一个新的提交,包含被合并分支的更改。合并后的提交历史记录是非线性的,因为每个分支的更改都会保留下来。 Git cherry-pick用于将一个分支中的部分提交合并到其他分支。这种操作可以选择性地合并指定的提交,而不是整个分支的更改。合并后的提交历史记录是线性的,因为只有选择的提交被应用到目标分支中。 当执行cherry-pick命令时,如果有冲突,需要解决冲突才能继续操作。可以使用git cherry-pick --continue命令解决完冲突后继续下一个cherry-pick。如果不想解决冲突,可以使用git cherry-pick --abort放弃合并,回到操作之前的状态。如果想保持现有情况而不回到操作之前,可以使用git cherry-pick --quit命令。 除了合并到另一个分支,cherry-pick还可以用于将提交应用到另一个代码库。可以通过添加一个远程仓库、将远程代码抓取到本地、获取提交的哈希值等操作来实现。 总结来说,git merge用于将一个分支的所有更改合并到另一个分支中,而git cherry-pick用于将一个分支中的部分提交合并到其他分支,并且可以选择性地合并指定的提交。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [git merge rebase cherry-pick分别什么时候用?一文解惑](https://blog.csdn.net/weixin_64314555/article/details/121567879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值