我有2个主要分支master
和development
。我最近不得不推送一个已经合并到development
的提交的修补程序,为此我从development
挑选了提交,创建了一个新的修补程序分支,添加了另一个修复提交,并合并了那到master
。我的问题是,如何在不弄乱git提交历史的情况下将新提交合并到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
和&#34;修复&#34;的最佳方式是什么?这些差异?
编辑添加:或者,我应该在这样的情况下做些什么,其中修补程序包含development
分支中的提交?
答案 0 :(得分:0)
您需要从历史树中“向下”选择修复程序,以便稍后可以将其“向上”干净地合并到其他分支中。
A
导致提交新的X
。X
合并回到两个分支。此后,两个分支将共有X
,这意味着它们都包含修订。