[英]Git create branch from master and rebase on top
我有以下存储库
A-B-C-D-E-F-G-H-I-J-K-L
我想做:
A-B-C-D-E-F-G-H-I-J-K-L
\
C-D-E-F-G-H
并将新分支移动到 master 之上
A-B-C-D-E-F-G-H-I-J-K-L
\
C-D-E-F-G-H
所以我做了:
checkout B
checkout -b new-branch
cherry-pick C D E F G H
// so far it what i want
rebase new-branch master
// now I'm back in master like I did nothing
不知道如何实现这一目标。
// 编辑
提交I
是从 github UI 还原的,因此它的提交CDEFGH
压缩在一起。 (或者I
是合并提交, J
是还原提交。)
如果你想在没有 I、J、K 和 L 的情况下在自己的分支上提交 C、D、E、F、G、H,你应该这样做:
git checkout H
git checkout -b new-branch
在新分支上添加更多提交后,您的历史记录将如下所示:
master: A-B-C-D-E-F-G-H-I-J-K-L
\
new-branch: M-N-O
一旦你在 new-branch some 上工作并有一些提交,你可以使用 rebase 在 master 之上播放不同的提交,如下所示:
git checkout new-branch
git rebase master
这会让你的历史看起来像这样:
master: A-B-C-D-E-F-G-H-I-J-K-L
\
new-branch: M-N-O
尝试直接从 master 挑选一系列所需的提交。
git cherry-pick C..H
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.