这个问题在这里已经有了答案:
How to merge a specific commit in Git
(10 个回答)
8年前关闭。
如果我从 Remote 上的如下结构开始:
A-B-C-D-F-G master
\
E-H-I branch
我克隆分支并更改'J'(&提交并推送到远程分支)如何将'J' merge 到master而不降低'H'和'I'?是否可以仅通过推送更改“J”来完成,或者我是否需要切换到本地存储库跟踪主机并 merge 本地“J”更改并将其推送到主机?
A-B-C-D-F-G-J master
\
E-H-I-J branch
最佳答案
为了创造反射(reflect)现实的历史,从而避免下游潜在的麻烦,
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”提交树将是相同的,只是这次具有明确的历史记录。
关于git - 如何将分支上的修补程序 merge 到 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198139/