nuovo utente git qui. Voglio usare git, ma sono in un ambiente SVN. Da alcuni libri che ho letto e da alcuni semplici esperimenti, ho riscontrato alcune trappole problematiche e spero di ottenere chiarimenti su come iniziare senza che i miei colleghi vogliano uccidermi.git svn e funziona con filiali private?
voglio che il mio flusso di lavoro di essere:
un ramo git maestro che rimane al passo con tronco di svn.
rami Git locali che faccio la mia caratteristica e il lavoro bug in.
Voglio portare spesso le funzionalità rami fino ad oggi con il maestro.
Quando sono pronto, desidero unire un ramo di funzione con master e ripristinarlo a svn.
Si tratta di un flusso di lavoro tipico?
Inizialmente stavo usando git merge per unire il mio ramo principale e rami di funzionalità. Ciò ha portato a tutti i tipi di conflitti e problemi. Più tardi leggo per evitare l'uso di git merge alltogether e mi impegno con git rebase. I seguenti comandi git sarebbero quindi corretti?
- git svn rebase (per abbattere le ultime modifiche al maestro)
- git checkout -b myAwesomeFeature (per fare un ramo di caratteristica su cui lavorare)
- ... fare un certo lavoro, fare impegna a mia caratteristica ramo
- < < < passare del tempo >>>
- git checkout maestro
- git svn rebase (per abbattere novità)
- git checkout myAwesomeFeature
- git rebase master (per ottenere cose del tronco svn nel mio ramo della funzione)
- < < < pronto a spingere la mia caratteristica FILIALE >>>
- maestro git checkout
- git rebase myAwesomeFeature (a veloci maestri testa di andata per ottenere la mia roba funzione in)
- git svn dcommit (di pubblicare finalmente)
Qualche consiglio o suggerimento per aiutare un aspirante utente git a vivere in un mondo svn sarebbe molto apprezzato. Grazie
in realtà è possibile usare 'git merge' con 'git svn'. 'dcommit' sposterà felicemente il commit con più genitori in sovversione, anche se subversion lo vedrà solo come commit regolare con tutti i cambiamenti dal ramo. È persino l'unico modo in cui una volta che inizi effettivamente a collaborare con git (ad esempio provando a passare gradualmente). –