git中merge,rebase,cherry-pick,patch的联系与区别

这些操作都是为了把一个分支上的工作加到另一个分支上。

  1. merge
    把另一个分支合并到当前分支上。

  2. rebase
    把当前分支的提交在另一分支上重演。(如果可以成功重演,本分支将会消失)

  3. cherry-pick
    把本分支或者其他分支的某一次或某几次提交,在当前分支上重演。

  4. patch
    把一次或几次提交,做成补丁文件(可以远程发送给其他人,这是与cherry-pick最大的不同)。这个补丁文件可以被应用到其它分支上。

注:

1. 区分idea中关于rebase的2个选项
(1) Rebase Current onto Selected:把当前分支变基到被选择的分支上;
(2) Checkout with Rebase:把被选择的分支checkout出来变基到当前分支。

rebasecherry-pick 都是 git 用于合并分支或提交记录的命令,但它们的用途和操作方式有所不同。 rebase 命令会将一个分支的提交记录移动到另一个分支的末尾。通常情况下,我们会使用 rebase 命令来将本地分支的提交记录同步到远程分支,以保持代码库的整洁和一致性。举个例子,假设我们有一个本地分支 feature-branch,我们想要将它的提交记录合并到主分支 master ,可以使用以下命令: ``` git checkout feature-branch git rebase master ``` 这样会将 feature-branch 的提交记录移动到 master 分支的末尾,从而保持代码库的整洁和一致性。 cherry-pick 命令则是将指定的提交记录合并到当前分支。通常情况下,我们会使用 cherry-pick 命令来将某个分支的特定提交记录合并到另一个分支,以避免合并整个分支带来的风险和冲突。举个例子,假设我们有一个分支 bug-fix,其包含了一个修复某个 bug 的提交记录,我们想要将这个提交记录合并到主分支 master ,可以使用以下命令: ``` git checkout master git cherry-pick <commit-hash> ``` 其,`<commit-hash>` 是 bug-fix 分支修复该 bug 的提交记录的哈希值。 总之,rebasecherry-pick 命令都是 git 用于合并分支或提交记录的命令,但它们的用途和操作方式有所不同。在实际使用,需要根据具体情况选择合适的命令来完成合并操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值