我有2个主要分支master
和development
。最近,我不得不推送已合并到development
中的提交的修补程序,为此,我从development
中挑选了提交,创建了一个新的修补程序分支,为该修订添加了另一个提交,并将其合并到[C0 ]。我的问题是,现在如何在不弄乱git commit历史记录的情况下将新提交合并到master
?
大致上,我做了什么:
development
[现在,如果我查看git cherry-pick <commit SHA>
git checkout -b hotfix-branch
[make more changes]
git commit -m "Fix issue"
git checkout master
git merge hotfix-branch
和git diff
之间的master
,则会显示development
中的旧提交,因为它们是经过挑选的,因此具有相同更改的不同提交。合并回development
并“修复”这些差异的最佳方法是什么?
编辑以添加:或者,在这种情况下,修补程序由development
分支中的提交组成,我该怎么办?
您需要在历史记录树上“向下”选择修复程序,以便以后可以将其“向上”干净地合并到其他分支。
development
导致新的提交A
。X
合并回到两个分支。此后,两个分支将具有共同的X
,这意味着它们都包含修复程序。