Quando ho una correzione per una modifica che è stata commessa alcuni prima, finisco sempre per eseguire rebase due volte di seguito. È possibile fare tutto questo in un unico passaggio? Diciamo che ho 4 nuovi commit.Posso rebase e squash commit allo stesso tempo?
* (master) D
* C
* B
* A
* Base
ho trovato un bug in B così creo un ramo e risolvere il problema.
* (master) D
* C
| * (fix) Fix.
|/
* B
* A
* Base
Poi ho eseguito git rebase --onto fix B D
spostare C e D sul B.
* (master) D'
* C'
* (fix) Fix.
* B
* A
* Base
Infine corro git rebase --i fix^^
a vedere gli ultimi impegna e mi schiacciare B e fissare in un unico commit.
* (master) D'
* C'
* B'
* A
* Base
Esiste un modo più rapido per eseguire lo stesso flusso di lavoro? Immagino che la fusione sarebbe più facile, ma la fusione è fuori per me perché sto usando git svn che richiede una storia lineare.
forse le opzioni 'fixup' e' autosquash' potrebbero aiutare qui? http://stackoverflow.com/questions/2302736/trimming-git-checkins-squashing-git-history/2302947#2302947 – VonC
@VonC Grazie, almeno renderà questi passaggi un po 'più veloci. –
eccellente (per cominciare). Puoi pubblicare una risposta che illustri come i passaggi siano più veloci con quelle opzioni. – VonC