Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在这个方案中,cherry pick合并是否合适?_Git_Merge_Branching And Merging_Git Merge_Cherry Pick - Fatal编程技术网

Git 在这个方案中,cherry pick合并是否合适?

Git 在这个方案中,cherry pick合并是否合适?,git,merge,branching-and-merging,git-merge,cherry-pick,Git,Merge,Branching And Merging,Git Merge,Cherry Pick,设想一个git存储库的结构如下: 主要分支-下一个主要版本的开发在这里完成 发布分支-发布补丁的开发在这里完成 热修复分支-热修复分支从发布分支分支出来,用于修复补丁的发布错误 主要内容-----------------> \ 释放o--------o \ / 修补程序o-- 因此,修补程序是在发布分支之外开发的,为了将修补程序引入到我的主分支中,我以前的模式是使用cherry-pick合并。现在我怀疑这是否合适 在这里,使用常规合并将修补程序分支合并到主分支是否更合适?在这两种情况下都

设想一个git存储库的结构如下:

  • 主要分支-下一个主要版本的开发在这里完成
  • 发布分支-发布补丁的开发在这里完成
  • 热修复分支-热修复分支从发布分支分支出来,用于修复补丁的发布错误
主要内容-----------------> \ 释放o--------o \ / 修补程序o-- 因此,修补程序是在发布分支之外开发的,为了将修补程序引入到我的主分支中,我以前的模式是使用cherry-pick合并。现在我怀疑这是否合适


在这里,使用常规合并将修补程序分支合并到主分支是否更合适?在这两种情况下都有“陷阱”吗?

我会将我的热修复程序重新设置到发布分支上,并偶尔在发布分支中合并到main中,以便main也获得修复程序

在我看来,应该避免樱桃挑选的提交,因为它们会产生额外的提交,其内容与樱桃挑选的提交内容相同。Cherry pick非常有用,例如,如果您无意中提交了main上的修补程序,但也希望发布分支上的修补程序,但您不想将main完全合并到发布中,因为它可能包含其他您还不想发布的内容

Main --------------------------------> \ Release o--------o \ / Hotfix o--