Domanda

Ho un repository Git con la seguente struttura:

A--B--C--D--E

mi piacerebbe separare il C commettere in un ramo:

     C
    / \
A--B---D--E

Come faccio a farlo?

È stato utile?

Soluzione

git branch new-branch C

creerà un nuovo ramo che punta al C chiamato new-branch, finendo con questo:

    new-branch     HEAD
          |         |
A -> B -> C -> D -> E

Altri suggerimenti

La risposta corretta è quello di onorare il fatto che D ha 2 genitori in uscita che si desidera. Ho intenzione di assumere E viene puntato da maestro.

git branch new-branch C
git checkout -b merge-base B
git merge --no-ff new-branch
git rebase --onto merge-base D^ master
git checkout master

si finirà con questo:

     C
    / \
A--B---Y--D'--E'

questo preserverà C come un genitore in una fusione nel ramo principale. Si potrebbe schiacciare D in Y con git rebase -i testa ^^^. Si potrebbe quindi avere:

     C
    / \
A--B---D''--E''
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top