将更改提交到Git中的多个分支

将更改提交到Git中的多个分支,git,one-to-many,branch,Git,One To Many,Branch,典型使用场景: 我有大师、布兰奇·福和布兰奇·巴。都是最新的。现在,我做了一个“git checkout master”并修复了一个bug 假设修复是在所有分支上处于相同状态的跟踪文件上进行的,即在修复之前,每个分支的文件的差异不会导致任何差异 有没有办法将此修复提交给所有分支?我想这就是您想要的 将修复提交到第一个分支后,可以使用git cherry pick将其合并到其他每个分支中 这一相关问题可能会引起人们的兴趣: 解决这一问题的常用方法是“向上合并”。从手册: 始终将修复提交到需要修复的

典型使用场景:

我有大师、布兰奇·福和布兰奇·巴。都是最新的。现在,我做了一个“git checkout master”并修复了一个bug

假设修复是在所有分支上处于相同状态的跟踪文件上进行的,即在修复之前,每个分支的文件的差异不会导致任何差异

有没有办法将此修复提交给所有分支?

我想这就是您想要的

将修复提交到第一个分支后,可以使用
git cherry pick
将其合并到其他每个分支中

这一相关问题可能会引起人们的兴趣:
解决这一问题的常用方法是“向上合并”。从
手册

始终将修复提交到需要修复的最早受支持的分支。然后(定期)将集成分支向上合并到彼此中

这提供了一个非常可控的修复流程。如果您注意到您已经对例如maint中也需要的master应用了修复,您将需要向下选择它(使用git cherry pick(1))。这种情况会发生几次,没有什么好担心的,除非你经常这样做

第一种方法当然是首选的——最好在回购协议中只提交一次,并且能够看到它如何进入每个分支的历史。然而,生活并不完美,有时你会发现自己属于第二类。如果这种情况变得足够普遍,您也许可以编写一个脚本,如

multi-cherry-pick <commit> <branch> [<branch>...]
multi-cherry pick[…]

它依次检查每个分支,cherry选择给定的提交。

是的,有。在单独的主题(功能)分支上进行此提交(从最早的分支/最早的状态分支),然后将此主题分支合并到所需的任何分支中

例如,JUnito C Hamano(Git的维护者)在博客文章中描述了该工作流


这大概就是我写的

是的,我想到了git cherry pick。我只是想知道是否有更快的方法。谢谢:)相关的问题正是我需要的。谢谢。是的,我最终使用了主题分支。蒂姆告诉我的问题的公认答案也是你写的,正是我所需要的:)