Questo è uno di quei "Continuo a fare questo e mi fa male ogni volta e non c'è mai una buona risorsa concisa che spiega bene così sto scrivendo un" messaggi. Sì, sì, lo so che è facile - se si è installato Ruby. Oppure stai vivendo in un mondo * nix. O avete una ragionevole comprensione di Git. Oppure si ottiene piacere dal dolore.
Tuttavia, se stai vivendo su Windows e si desidera solo per ottenere il dannato fatto, può essere doloroso. Continuo la creazione di nuove macchine e dover ricordare come farlo da zero in modo da questo momento , sto scrivendo tutto verso il basso. Qui geos:
1) Installare Rubino
Sì, Ruby. Vai farla da Installer per Windows Rubino pagina e installare l'ultima versione con tutte le impostazioni predefinite - tranne questo:
Prendi il file eseguibile di Ruby aggiunto alla variabile d'ambiente PATH in modo che è possibile eseguire da qualsiasi punto (più sul perché presto).Avrete probabilmente bisogno di un riavvio per tale dichiarazione PATH a calci in troppo.
Perché Ruby? Perché svn2git è scritto su di esso in modo che non stai andando lontano fino ad avere questo correre.
2) Installare la gemma svn2git
Se gemme sono un concetto estraneo, sono i pacchetti NuGet del mondo di Ruby. È possibile prendere la gemma svn2git direttamente dalla riga di comando, basta accendere una finestra di comando ed eseguire questo (il percorso si esegue da non importa se hai aggiunto la dichiarazione PATH per il passaggio precedente):
gem install svn2git
Poi attendere che la magia accada:
Questo è svn2git ora installato. Nel caso foste curiosi, la gemma finisce diffusione fuori attraverso il vostro percorso di installazione di Ruby:
3) Migrare il repository Subversion
E, naturalmente, ciò che tutti noi venuti qui per, in primo luogo - di pompaggio che repository Subversion in Git. Fare riferimento alla pagina del progetto su GitHub svn2git per l'utilizzo o dargli un po 'di "svn2git -h", mentre nella finestra di comando sul sentiero sopra. A seconda della configurazione, è possibile trovare è necessario fornire esplicitamente le credenziali quando si esegue questo comando in modo da considerare che.In breve, però, stiamo andando a puntare lo strumento ad una distanza repository Subversion e ottenere per creare un locale repository Git.
Per l'amor di esempio, ho intenzione di eseguire questo in una nuova cartella locale ho creato in c: \ MyProject:
http svn2git: // [nome del dominio] / svn / [root repository]
Dopo che tutte le corse, avrete un repository Git completo con tutto il codice e la cronologia delle revisioni nella cartella c: \ MyProject percorso.Vai avanti e utilizzare il vostro client preferito Git e controllare la cronologia commit - sembra familiare? Dovrebbe.
Un Gotcha qui e per il bene di Googleability, ripeto l'errore si può vedere:
Comando non riuscito: git checkout -f maestro
Questo è ciò che accade quando si punta svn2git in un percorso sotto la radice del repository, come "tronco". E 'facile da fare in quanto è probabilmente il tronco si è verificato a livello locale e, se farete ciò che io faccio e ricevo intorno copiare e incollare link, è molto facile fare questo e mi chiedo cosa sta succedendo. Controlla il tuo percorso!
4) Spingere il repository da qualche parte utile (come GitHub)
Giusto per chiudere il ciclo del flusso di lavoro che molte persone passare attraverso, sarete spesso finiscono per voler prendere il vostro nuovo repository lucido e colpire fino a qualche parte come GitHub. Ho un repository demo vuoto che sembra proprio come questo:
Vado a prendere l'URL del repository (è laggiù verso il basso a destra nell'immagine sopra) e aggiungerlo come un remoto :
git add remota origine https://github.com/troyhunt/MyProject.git
Proprio come un controllo di integrità, darò un po 'di "-v remoto git" per confermare che è completato con successo:
Ora cerchiamo di spingere tutti i rami locali fino a GitHub
git push -all
Il che ci dà:
E abbiamo finito! Facciamo sanità mentale controllare che su GitHub:
32 commit - c'è la vostra storia!
Incartare
Questa è una visione volutamente semplicistica che intenzionalmente non tocca su una serie di varie questioni, ma è tutto su come ottenere installato e funzionante come facilmente possibile.