4

我正在生成一系列文档补丁,每个补丁都适用于多个分支。该项目使用 Git 进行版本控制。

补丁应该按原样干净地应用在这些分支的顶部。

以最少的努力将补丁应用到多个分支的最佳工作流程是什么?

4

1 回答 1

4

新答案

你似乎在寻找git-cherry-pick. 此命令用于获取命名提交并将其提交到当前分支。基本语法是git cherry-pick <commit>; 这是手册页

但是,您应该尽可能避免使用cherry-pick,因为它会创建重复的提交,并且您真的希望将它们视为合并。您应该尝试采用“向上合并”的分支工作流程。来自man gitworkflows

始终将您的修复提交到需要它们的最旧的受支持分支。然后(定期)将集成分支向上合并。

这提供了一个非常受控的修复流程。如果你注意到你已经对 maint 中也需要的 master 应用了一个修复,你需要向下选择它(使用 git-cherry-pick(1))。这会发生几次,除非您经常这样做,否则无需担心。

在您的情况下,您应该能够将您的文档更新分成几个类,例如“featureA-documentation”,每个类都将合并到一个或多个分支中。您可以轻松地为自己编写一个脚本来自动检查各个分支并合并到适当的主题中。

旧答案

如果您好奇,请查看编辑历史记录 - 这些解决了如何通过推送或补丁提交从本地仓库的多个分支获取补丁到远程分支。

于 2009-10-20T20:14:01.177 回答