/ / git: ako opätovne zlúčiť vetvu po zlúčení a zachovať zmeny zlúčenia - git, rebase

git: ako rebase pobočky po jej zlúčení a zachovať zmeny zlúčenia commit - git, rebase

Mám takúto históriu:

A - B - M
    /
C

A, B a M sú master, C je na vetve funkcie.

Urobil som dve chyby:

  1. Neuvedomil som si, že spoločnosť Remote Remote neakceptuje zlúčenie záväzkov skôr, ako som to urobila.
  2. Zmenil som veľa vecí v splynutí zlúčiť od jednoduchého riešenia konfliktu.

Chcel som oživiť, takže by to vyzeralo, že A - B - C - M, C - M sú pravdepodobne stlačené dokopy.

Našiel som len jedna otázka na internete, ktorá v skutočnosti vyzerala celkom podobne ako môj prípad, jediná odpoveď bola „zlúčenie je v poriadku“.

Priznávam, že ešte stále nie som stopercentne oboznámený so syntaxou rebázy, ale akúkoľvek kombináciu, ktorú som dal git rebase, s alebo bez -p a / alebo -i, buď uviedla, že nie je čo oživiť (noop), alebo že to nefunguje.

Logická voľba sa zdala byť krokom k C a rebase -ip master, ale nerobí to, čo som očakával.

odpovede:

2 pre odpoveď č. 1

Vzhľadom na túto históriu:

A - B - M
    /
C

V bode M z vás mäkko resetujte na B a potvrďte, potom skončíte s A - B - M" čo sa zdá byť tým, čo chcete:

git checkout M
git reset B
git commit

Obsah vetvy zostane rovnaký, žiadny z týchto príkazov to nemení C bude z histórie vylúčený, takže bude vyzerať ako rovná vetva.