如何将分支上的hotfix合并到master

时间:2013-04-24 17:10:35

标签: git

如果我在遥控器上开始使用如下结构:

A-B-C-D-F-G  master
   \
    E-H-I  branch

我克隆分支并进行更改'J'(& commit并推送到远程分支)如何将'J'合并到master而不降低'H'和'I'?可以通过推动更改'J'来完成,还是需要切换到本地repo跟踪主控并合并本地'J'更改并将其推送到主控?

A-B-C-D-F-G-J  master
   \       
    E-H-I-J  branch

2 个答案:

答案 0 :(得分:2)

创造一个反映现实的历史,从而节省下游潜在的麻烦,

git checkout -b Jbranch B
git cherry-pick J
git checkout -B branch I
git merge Jbranch
git checkout -B master G
git merge Jbranch
git branch -d Jbranch

A..B..C..D..F..G..J''  master
   |             /
   |\........J'.+
   |             \ 
    \....E..H..I..J    branch

旧的和新的“分支”提示中的'J'提交树将是相同的,只是这次有明确的历史记录。

答案 1 :(得分:0)

您可以cherry-pick更改J. Cherry-picking仅将特定提交复制到分支。

$ git checkout master
$ git cherry-pick J

请注意,提交J现在将被复制(它将存在于每个分支上)。