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:
- Neuvedomil som si, že spoločnosť Remote Remote neakceptuje zlúčenie záväzkov skôr, ako som to urobila.
- 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ď č. 1Vzhľ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.