樱桃挑选是不是从源分支中删除提交?
Posted
技术标签:
【中文标题】樱桃挑选是不是从源分支中删除提交?【英文标题】:Does cherry-pick remove the commit from the origin branch?樱桃挑选是否从源分支中删除提交? 【发布时间】:2016-05-30 09:05:58 【问题描述】:假设我已经从master branch
中挑选出提交comm1
到branch foo
。在成功挑选樱桃后,提交comm1
是否会从branch master
中删除,或者只是复制到branch foo
中?
【问题讨论】:
A copy: cherry-pick is a new commit applying the same diff elsewhere. What does cherry-picking a commit with git mean?的可能重复 它将在 foo 分支上创建新的提交并保持 master 不变。如果您想了解更多详细信息,请查看文档:git-scm.com/docs/git-cherry-pick 【参考方案1】:它将复制提交的增量并在活动分支中创建一个新的提交。
当您问自己有关Git
将修改什么的问题时,请记住您只能修改活动分支。因此,如果您的活动分支是development
,并且您正在从分支feature/test
中挑选提交,则您只能修改development
而不能修改feature/test
。这样就可以推断feature/test
中的commit不会受到影响。
【讨论】:
不是提交的内容,提交的增量是前任。在我看来,这是一个巨大的差异。 Cherry-Picking 提交包含 file1 file2 file3 并添加 file4 不会在不包含它们的分支中创建 file1-3 。它只会将 file4 添加到此分支。请记住,提交始终是整个存储库的快照,没有增量。 @BlackEye 感谢您的指正。在我的脑海中,很明显我所说的提交的 content 是增量,但它是错误的术语,它可能会使新的 git 用户感到困惑。【参考方案2】:简单地说,它将特定的更改(提交)合并到目标分支中。合并不会影响源分支,所以肯定不会被删除。
因此,当您稍后进行完全合并时,git 将已经知道此更改已集成并会跳过它。
【讨论】:
以上是关于樱桃挑选是不是从源分支中删除提交?的主要内容,如果未能解决你的问题,请参考以下文章