![](/img/trans.png)
[英]Merge a commit from Develop to Master branch in the “successful git branching model”
[英]Git - Branching from master using old commit
可以说我的提交图如下所示:
1 -- 2 -- 3 -- 4
|
master
现在,我想使用提交#2从HEAD分支出来,即我想拥有类似的东西
branch
|
5
/
1 -- 2 -- 3 -- 4
|
master
但我想提交#5以反映提交#2中文件的状态。
这可能吗 ?
谢谢
取决于您是否希望新提交包含与#2相同的更改(如果可能;可能会有合并冲突阻止此更改):
git checkout -b branch
git cherry-pick hashOfSecondCommit
或者您是否希望所有文件看起来都与它们在#2时的样子完全一样:
git checkout -b branch hashOfSecondCommit
git reset --soft master
git commit
cherry-pick
所做的是“重播”另一个提交,然后reset --soft
更改“活动”提交的内容,而无需更改工作目录中的文件(与checkout
相对)。
除了@AasmundEldhuset的git cherry-pick,您还可以使用git rebase。
git rebase --onto 2 4 5
看来要删除新分支中的3和4。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.