Sto usando git-svn per funzionare contro il repository svn. Il layout è standard, e ho creato il repository locale con:Come sincronizzare le filiali remote con trunk usando git-svn
$ git svn clone -s http://mysvnrepo
(master)$
ho bisogno di lavorare su un telecomando (SVN) branch - MyBranch, così ho creato una filiale locale per tenere traccia della distanza uno:
(master)$ git checkout -b localMyBranch remotes/MyBranch
(localMyBranch)$
continuo a lavorare e impegnarsi per la sezione locale come vado, e di tanto in tanto mi dcommit:
(localMyBranch)$ git svn dcommit
Nel frattempo altre persone stanno lavorando sul tronco, e di tanto in tanto mi voglio unire indietro i cambiamenti dal tronco al mio ramo per tenerli sincronizzati. È lì che mi sento davvero confuso, dato che non sono riuscito a trovare una buona informazione su come eseguirlo. Finora so che devo fare:
(localMyBranch)$ git svn dcommit
(localMyBranch)$ git checkout master
(master)$ git svn rebase
E adesso? Ho letto che questo non è il modo giusto per andare:
(master)$ git checkout localMyBranch
(localMyBranch)$ git rebase master
come sta andando a rovinare le informazioni di unione per svn.
Quindi qual è il modo migliore per "rebase" il mio ramo svn remoto al trunk remoto, preservando le informazioni di unione per svn?
Grazie. Conserverà le informazioni di fusione da svn POV? –
Sì, se si configura git per farlo. Modificherò la risposta per includere il comando per farlo. –
@ jordan002: Funziona davvero? Sono abituato a fare la risposta [this] (http://stackoverflow.com/a/4908930/158074), ma in questo modo sembra essere più semplice. Inoltre, la prima riga dovrebbe probabilmente essere 'git checkout -b merge_work', giusto? – rsenna