繁体   English   中英

Git-使用旧提交从主分支

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM