1

我当前的分支看起来像:

     D  
    /
H--A--B--C  

我试图弄清楚如何生成一个新的 git 分支,这将使新的 git repo 看起来像:

     D  
    /
H--A--B--C  
    \
     C  

这可能吗?我曾考虑过使用 reset ,但这意味着 C 的更改也会丢失,因此请寻找替代方案。

4

2 回答 2

5

好的,所以找到了一种方法来做到这一点。

我创建了一个带有 A 的新分支:

git branch new-branch <A sha1>

然后我使用cherry pick在新分支中将C与A合并:

git checkout new-branch
git cherry-pick <C sha1>

这使得回购与我需要的分支。

于 2012-07-03T00:15:04.077 回答
0
    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

于 2012-07-02T23:19:57.567 回答