git - 如何将分支上的修补程序 merge 到 master

标签 git

这个问题在这里已经有了答案:





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/

相关文章:

css - Jekyll github pages 站点忽略 .css

git - **Visual Studio 2015,我应该将 Project.sln.ide\* 文件提交到 git 中吗?

git - 如何删除 Git 历史记录中给定日期之前的所有提交?

gitbranch 和 checkout 什么都不做?

git - git 别名的名称中可以包含句点 (.) 吗?

git - 如何获取服务器上运行的git的版本号?

git - 为什么 git pull 会导致数以千计的 merge 冲突?

git - 如何理解 .git/conf 文件中的远程 "origin"获取设置?

git - 无法使用 visual studio 2013 pull git 中的更改?

html - GitHub 页面发布链接无效