How to merge hot fix on branch to master
本问题已经有最佳答案,请猛点这里访问。
如果我从遥控器上的如下结构开始:
1 2 3 | A-B-C-D-F-G master \ E-H-I branch |
我克隆分支并更改"j"(提交并推送到远程分支),如何将"j"合并为master而不关闭"h"和"i"?是否可以通过按下更改"j"来完成,或者我是否需要切换到本地回购跟踪主机并合并本地"j"更改并将其推送到主机?
1 2 3 | A-B-C-D-F-G-J master \ E-H-I-J branch |
号
创造一个反映现实的历史,这样就可以省去下游的潜在麻烦,
1 2 3 4 5 6 7 | 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 |
号
生产
1 2 3 4 5 | A..B..C..D..F..G..J'' master | / |\........J'.+ | \ \....E..H..I..J branch |
新旧"branch"技巧中的"j"commit树将完全相同,这一次只是显式的历史记录。
您可以选择cherry pick的更改j.cherry picking只复制一个特定的提交到分支。
1 2 | $ git checkout master $ git cherry-pick J |
注意commit j现在将被复制(它将存在于每个分支上)。