Ho un ramo di sviluppo e un ramo di funzionalità nel mio repository git. Ho aggiunto un commit da sviluppare e ora voglio che il commit venga unito al mio branch di funzionalità. Se faccio questoCome unire git commit nel ramo di sviluppo a un ramo di funzionalità
git checkout feature
git merge develop
Finisco con un merge commit. Dal momento che fonderò nuovi commit per sviluppare frequentemente il mio branch di funzionalità, vorrei evitare tutti questi commit di unione non necessari. Ho visto questo answer che suggeriva di fare un git rebase develop
ma finisce per riavvolgere il mio ramo troppo lontano e il rebase fallisce.
Aggiornamento: Quello che ho finito per fare era
git checkout feature
git merge develop # this creates a merge commit that I don't want
git rebase # this gets rid of the merge commit but keeps the commits from develop that I do want
git push
Aggiornamento: ho appena notato che l'originale commit su sviluppare ottiene un hash diverso quando mi si fondono poi Rebase al ramo di caratteristica. Non penso che sia quello che voglio perché alla fine ricomincerò a sviluppare la funzionalità e immagino che non sarà piacevole.
Hmm, beh, so che puoi "schiacciare" i tuoi commit insieme quando rebase, come un modo per non avere così tanti commit sul tuo ramo. Dai un'occhiata a http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html. – Houdini
Rebasso * è * la risposta, se non funziona per te, c'è un'altra domanda che dovresti chiedere * perché * non funziona. – meagar