Ho lavorato per spostare i nostri 9 progetti in un repository SVN su 9 distinti repository git, gestiti su un server da gitolite e poi chiudendo SVN. Sette di loro erano facile come non avevano rami o tag presente sulla mia workstation sono stato in grado di fare un semplice:Migrare da Subversion a git, clonare tutti i rami e spingere attraverso la gitolite?
git svn clone --stdlayout --no-metadata -A svnauthors.txt svn+ssh://[email protected]/var/subversion/project tempProject
poi spinto dalla mia postazione di lavoro alla gitolite Sever via:
git remote add origin ssh://[email protected]/project
git push -u origin master
e hanno lavorato tutti alla grande. Ora gli ultimi due progetti sono più difficili, con circa 30 tag/rami ciascuno. Dopo aver eseguito il 'git svn clone' come sopra su uno di quei progetti che vedo:
$ git branch -a
* master
remotes/BatchUpload
remotes/clarify_breadcrumb
remotes/contact_type
remotes/contact_upload_improvements
remotes/file_cabinet
remotes/mobile
remotes/summary_tiles
remotes/summary_updates
remotes/tags/release-2.1.2
remotes/tags/release-3.0.1
remotes/tags/release-3.0.2
remotes/tags/release-3.0.2c
remotes/tags/release-3.1.1
remotes/tags/release-3.1.3
remotes/tags/release-3.1.4
remotes/tags/release-3.1.5
remotes/tags/release-3.1.5.UPDT
remotes/tags/release-3.2
remotes/tags/release-3.2.1
remotes/tags/release-3.2.2.1
remotes/tags/release-3.2.3
remotes/tags/release-3.2.4
remotes/tags/release-3.2.6
remotes/tags/release-3.2.7
remotes/tags/release-3.2.7.1
remotes/trunk
remotes/user_man_batch_upload
remotes/user_management
Ora, come posso fare per ottenere tutti quei tag/rami scaricato alla mia postazione di lavoro locale, in modo che io possa far passare gitolite e spegnere il server SVN in modo permanente? È quello che devo fare in this guide, fare un 'git checkout -b' per ogni ramo e tag? Dovrei usare svn2git o qualche altro strumento per questo?
cosa intendi per comando di marcia che stampa? –
Oh la sua uscita è un comando .. grazie ho avuto molti rami che mi fanno confondere ... –
Funziona per me. Ma perché non esiste un comando git ootb per questo? Oppure, perché git push fallisce per i rami svn di git? – Christian