在什么情况下需要git cherry-pick而不是git merge?

mar*_*son 5 git

为了将一个人从一个分支移动到另一个分支,我意识到git中有一些选项.我已经尝试过git merge,git cherry-pick但我没有看到何时git cherry-pick更可取.

我的理解如下:

git merge <hash> 将指定的提交从一个分支移动到另一个分支,将其保留为一个提交.

git cherry-pick <hash> 在第二个分支中创建提交的副本,但它与自己的提交哈希分开.

第一种选择对我来说似乎更可取但是什么时候cherry-pick会更受欢迎呢?

mip*_*adi 7

假设你有一个分支master,有一堆提交.也许您做了一个适当的更改master,但您不想引入所有更改(例如,小错误修复,或添加一个小功能).使用git cherry-pick,您只能从另一个分支中获取该提交并将其引入master.

  • @hvgotcodes:不,当你合并时,你会得到`<hash>`以及`<hash>`中的所有祖先,因为它与你正在合并的分支有所不同.分支名称实际上只是一个命名哈希. (3认同)