Lev*_*i_d 46 git version-control merge
所以我创建了一个我已经创建的另一个分支的分支,现在当我尝试将分支合并到master时,我遇到了必须合并两个分支的情况.
这是一张图
主 - >
Run Code Online (Sandbox Code Playgroud)->Branch 1 -> Branch 2
我希望能够将分支2上的更改仅合并到master上,而不必合并分支1上的更改(如果有意义的话).我查看了重置并恢复,但似乎这些东西将删除我用分支2做的所有更改.任何想法?
谢谢
som*_*esh 75
使用以下语法尝试git rebase --onto:
将branch2的更改放在master上而不包括branch1
git rebase --onto master branch1 branch2
Run Code Online (Sandbox Code Playgroud)
相关产出来自git help rebase:
o---o---o---o---o master
\
o---o---o---o---o next
\
o---o---o topic
Run Code Online (Sandbox Code Playgroud)
请记住这里提到的变革风险和陷阱:http: //git-scm.com/book/en/Git-Branching-Rebasing
一种方法是使用cherry-pick.执行a git log branch2并找到所需的提交ID,然后master使用git checkout masterthen 切换到branchgit cherry-pick <commit_id>
有关详细信息,请参阅此帖子