Ho un server Git remoto, ecco lo scenario che voglio eseguire:
Per ogni bug / funzione creo un ramo Git diverso
Continuo a impegnare il mio codice in quel ramo Git con messaggi Git non ufficiali
Nel repository superiore dobbiamo eseguire un commit per un bug con il messaggio Git ufficiale
Quindi, come posso unire il mio ramo al ramo remoto in modo che ottengano un solo commit per tutti i miei check-in (voglio anche fornire un messaggio di commit per questo)?
git merge --squash
fa tutto dalla riga di comando in un colpo solo e speri solo che funzioni. git rebase -i
visualizza un editor e consente di ottimizzare il rebase. È più lento, ma puoi vedere cosa stai facendo. Inoltre, ci sono differenze tra rebase e merge che sono un po 'troppo coinvolte per essere affrontate in un commento.
merge --squash
dal vecchio al nuovo, quindi unisci il nuovo ramo al master. Il vecchio ramo diventa obsoleto.