我们在两个分支中维护我们的应用程序:
通常情况下,我们需要修复
在将
据我所知,我需要查找分支
我希望有一个单一的命令可以始终使用,让git自动找出我要使用哪些提交。每次都是相同的模式:给定
是否有某种变更集表达式可以避免手动查找提交ID的需求?
附言:据我所知,我不能使用
free
和master
(master
是我们应用程序的高级版本)。这些分支非常相似,但master
分支有一些额外的应用程序功能,而free
版本没有,因此我们需要不断维护这两个分支。通常情况下,我们需要修复
free
分支中的错误或添加功能,这些更改需要在完成后应用到master
分支。当我需要进行这样的工作时,我会基于free
创建一个名为newfeature
的新分支。完成新功能后,newfeature
将包含X个新提交。在将
newfeature
合并回free
之前,我想知道可以使用哪个命令从newfeature
中生成补丁,以便将其应用到master
。目前,我的做法是:git format-patch aa99f9..e94904
据我所知,我需要查找分支
newfeature
的具体提交ID和最后一次提交,这是非常麻烦的。我对提交ID不感兴趣,也不想亲自输入它们。我希望有一个单一的命令可以始终使用,让git自动找出我要使用哪些提交。每次都是相同的模式:给定
newfeature
分支,我想生成从newfeature
和free
共同祖先到newfeature
上最新提交的提交补丁。是否有某种变更集表达式可以避免手动查找提交ID的需求?
附言:据我所知,我不能使用
git rebase
来完成此任务,因为这将会将整个free
分支合并到master
上。我只想将唯一属于newfeature
分支的提交合并到master
上。
git merge-base
。例如,https://dev59.com/LHI_5IYBdhLWcg3wF_F3 提供了复杂版本的合并基础查找和使用方法,但是对于许多情况来说,简单的A...B
可能已经足够了。 - torek