我们在两个分支中维护我们应用程序的两个版本:free和master(master是我们应用程序的高级版本)。这些分支非常相似,但是该master分支有一些free版本没有的额外应用程序功能,因此我们需要保持这两个分支持续运行。
定期我们需要修复错误或向free分支添加功能,我们需要在完成后将其应用到master分支。当我有这样的工作要做时,我会开始一个基于free调用的新分支,例如newfeature. 当我完成这个功能时,newfeature有 X 个新的提交。
在我newfeature重新合并之前,free我想知道我可以使用什么命令从newfeature现在需要应用到的所有提交中生成补丁master。目前,我只是这样做:
git format-patch aa99f9..e94904
据我所知,我必须实际查找分支时的具体提交 ID newfeature,以及最后一次提交newfeature,这是一个拖累。我对提交 ID 不感兴趣,我不想输入它们。
我希望有一个我可以持续使用的命令,git 将找出我正在谈论的提交。每次都是相同的模式:给定分支newfeature,我想生成一个从共同祖先newfeature到free最新提交newfeature的提交补丁。
是否有一些变更集表达式可以避免手动查找提交 ID 的需要?
PS:AFAIK,我不能git rebase用来执行此任务,因为这会将整个free分支合并到master. 我只想将newfeature分支独有的提交合并到master.