我当前的分支看起来像:
D
/
H--A--B--C
我试图弄清楚如何生成一个新的 git 分支,这将使新的 git repo 看起来像:
D
/
H--A--B--C
\
C
这可能吗?我曾考虑过使用 reset ,但这意味着 C 的更改也会丢失,因此请寻找替代方案。
我当前的分支看起来像:
D
/
H--A--B--C
我试图弄清楚如何生成一个新的 git 分支,这将使新的 git repo 看起来像:
D
/
H--A--B--C
\
C
这可能吗?我曾考虑过使用 reset ,但这意味着 C 的更改也会丢失,因此请寻找替代方案。
好的,所以找到了一种方法来做到这一点。
我创建了一个带有 A 的新分支:
git branch new-branch <A sha1>
然后我使用cherry pick在新分支中将C与A合并:
git checkout new-branch
git cherry-pick <C sha1>
这使得回购与我需要的分支。
C A--D
/ /
A*--D H--A--B--C
/ \
H--A--B--C A--C
(1) (2)
因为(1)
是等价的,如果(2)
你可以git checkout <commit sha1 of A*> -b your-new-branch