我处于生成一系列文档补丁的位置,每个补丁都适用于多个分支。该项目使用Git进行版本控制。
补丁应该干净地应用在这些分支的顶部。
以最小的努力将补丁应用于多个分支的最佳工作流程是什么?
答案 0 :(得分:4)
您似乎在寻找git-cherry-pick
。此命令用于获取命名提交并将其提交到当前分支。基本语法是git cherry-pick <commit>
;这是man page。
但是,你应该尽可能避免挑选,因为它会创建重复的提交,你真的希望将它们视为合并。您应该尝试采用“向上合并”的分支工作流程。来自man gitworkflows
:
始终将修复程序提交到需要它们的最旧的受支持分支。然后(定期)将集成分支向上合并。
这提供了非常受控制的修复流程。如果您发现自己已将修复程序应用于例如在maint中也需要的主人,你需要向下挑选它(使用git-cherry-pick(1))。这种情况会发生几次,除非你经常这样做,否则无需担心。
在您的情况下,您应该能够将文档更新分成几个类,例如“featureA-documentation”,每个都将合并到一个或多个分支中。您可以轻松地为自己编写一个脚本,以自动检出各个分支并合并适当的主题。
如果您感到好奇,请查看编辑历史记录 - 这些内容解决了如何通过推送或补丁提交从多个分支机构从本地存储库获取补丁到远程存储区。