Mam dwie gałęzie, które utrzymuję na górze strumienia/wzorca. Jedna gałąź ma drugą jako przodka, więc tworzą linię.Najprostszy sposób na ponowne utworzenie wielu gałęzi w jednej linii
U1 (upstream/master)
\
A -- B (fixes)
\
C -- D (features)
Później upstream/master porusza się do przodu ...
U1 -- U2 (upstream/master)
\
A -- B (fixes)
\
C -- D (features)
... i chcę zmieniają bazę obie gałęzie na wierzchu.
U1 -- U2 (upstream/master)
\
A' -- B' (fixes)
\
C' -- D' (features)
Znam dwa sposoby na to, każdy z wadami.
git rebase upstream/master fixes
git rebase fixes features
Czasami te polecenia działają i czasami powodują konflikty seryjne przy drugim poleceniu.
git rebase upstream/master features
# figure out the hash code of the new commit corresponding with B'
git branch -f fixes <sha of B'>
Dotyczy to tylko pojedynczego rebase, ale przenoszenie oddziałów jest uciążliwe i podatne na błędy.
Zajrzałem do rebase - remount-merges, ale to nie wydaje się mieć zastosowania, ponieważ nie ma zgody commge.
Czy istnieje lepszy sposób na wykonanie rebelii?
Czy możesz wyświadczyć mi przysługę i użyć schematów takich jak: 'A - B - C'? Ułatwiłoby to nie tylko pytanie, ale także uczyniłoby go bardziej użytecznym dla innych w przyszłości. –
Edytowane. Czy to jest bardziej jasne? –
Bardzo dobra robota, przegłosowałem. –