2011-01-28 24 views
9

I derivato dal master e creato un ramo chiamato extra_work. Poi ho apportato molte modifiche al master che includevano anche la rimozione di alcuni file. Più tardi, quando ho provato a unire il ramo "extra_work" nel master, non lo sta integrando completamente. Non sta aggiungendo i file che ho rimosso in master, fondamentalmente tutto il lavoro che avevo disfatto, ora lo voglio di nuovo nel mio master. Come faccio a unire questi due rami in modo che tutti i file/lavori aggiuntivi del mio ramo "extra_work" si uniscano in master. GrazieGit Merge - Non unire tutte le modifiche dal ramo remoto

risposta

1

Mi sono imbattuto nello stesso problema molto recentemente mentre eseguivo un importante refactoring. Ho risolto il problema eseguendo git rebase, da master rebasing su extra-work. Non capisco appieno tutto questo, ma la fusione è andata terribilmente (come hai sperimentato tu) ma rifondare in questa particolare direzione è stato molto facile. Vedi il git book su rebasing: http://book.git-scm.com/4_rebasing.html

12

Rebase il tuo ramo extra_work contro master. Questo riavvolgerà il tuo ramo extra_work allo stato quando si diramerà e applicherà il commit da master a extra_work. Riprenderà quindi tutti i commit da extra_work su se stesso. Se si ispeziona git log in seguito, si vedrà il commit da master più indietro nella cronologia del ramo. Dovresti quindi essere in grado di unire a master senza problemi.

git rebase master 
+1

spiegazione migliore (es. Più semplice) di rebase che ho sentito. Saluti. –

+0

I rebases indicano come le modifiche devono passare dalla parte superiore della gerarchia verso il basso e le unioni sono il modo in cui risalgono verso l'alto. https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/ – CrandellWS

Problemi correlati