Risposta breve ...
Il mio consiglio: inizia con account pubblici su GitHub e / o Bitbucket (altro?). Lanciare alcuni progetti pubblici e iniziare a utilizzare gli strumenti / le interfacce. Una volta che hai un'idea dei servizi, dovresti capire quali sono i limiti, i vantaggi e gli svantaggi di ciascun servizio. Da lì, dovresti essere in grado di scegliere il percorso migliore per l'illuminazione di controllo della versione. :)
Risposta lunga ...
Al momento non ho backup off-site per la maggior parte del mio codice, quindi come parte di questo, inizialmente pensavo di caricare tutti i miei progetti personali, o almeno tutti i miei progetti iOS, su un repository privato ospitato da GitHub . Tuttavia, ho molti progetti in giro, molti dei quali hanno un valore abbastanza basso (cioè adattati da libri e scritti per l'esperienza di apprendimento).
Hai preso in considerazione l'installazione del tuo client Git? Se stai già pagando per l'hosting web, potrebbe avere senso usare quell'host per la tua configurazione Git.
Ad esempio, il mio host è WebFaction (nessuna affiliazione):
Installazione dell'applicazione Web Git
Dirigendoti su questa rotta potresti permetterti di risparmiare un po 'di $$$, esp. se stai già pagando per l'hosting.
GitHub non si carica solo dal repository privato,
Giusto per chiarire per gli altri (di nuovo, nessuna affiliazione commerciale a GitHub o BitBucket):
- $ 7 / mo. per un massimo di 5 repository privati , tutto il resto illimitato.
- $ 12 / mo. per un massimo di 10 repository privati , tutto il resto illimitato.
- $ 12 / mo. per un massimo di 20 repository privati , tutto il resto illimitato.
Si noti che i prezzi dei "piani aziendali" sono diversi.
Come affermato da Andrew nell'altra risposta, Bitbucket promuove repository privati illimitati.
- 5 utenti: gratuito
- 10 utenti: $ 10 / mese.
- 25 utenti: $ 25 / mese
- 50 utenti: $ 50 / mese.
- 100 utenti: $ 100 / mese.
- $ 200 / mese illimitati .
non sembra avere alcun modo di organizzare gerarchicamente i repository.
Non so esattamente cosa intendi per "gerarchicamente" (probabilmente perché non ho familiarità con SVN).
Non sono sicuro che ciò possa aiutare, ma puoi guardare questa tabella di confronto per vedere come i comandi confrontano / differiscono:
C'è qualcosa che mi manca che mi permetterebbe di usare un repository git con una gerarchia e di controllare i pezzi di cui ho bisogno / lavorare con loro, come faccio attualmente con SVN?
Branching?
GitHub (o un concorrente, come BitBucket) ha alcune funzionalità di organizzazione del progetto che mi mancano?
Non sono sicuro se questo aiuterà, ma potresti dare un'occhiata a:
Git viene fornito con strumenti GUI integrati per il commit ( git-gui ) e la navigazione ( gitk ), ma ci sono diversi strumenti di terze parti per gli utenti che cercano un'esperienza specifica per la piattaforma.
... di nuovo, non sono sicuro che qualcuno di questi strumenti possa aiutarti a farti un'idea di ciò che è possibile.
Per essere chiari, non sono sicuro del tuo livello di abilità Git ... se non conosci Git / GitHub, usare una GUI potrebbe essere un modo semplice e veloce per farti un'idea delle cose. Personalmente mi piace usare le app GitHub ufficiali per Mac / Windows.
In caso contrario, qual è il "modo git" generalmente accettato per gestire questa situazione (scartare i progetti non destinati al rilascio, archiviarli offline, raggrupparli in qualche modo, ecc., Ecc.)?
Se fossi in te, utilizzerei i repository.
Di quanti repository privati hai bisogno?
Se si desidera utilizzare GitHub, una soluzione potrebbe essere quella di ottenere il piano più economico e utilizzare alcuni repository privati per contenere tutto il codice di test / non pubblico. Puoi semplicemente usare una struttura di cartelle sul tuo main
ramo per mantenere una struttura gerarchica, oppure puoi usare più rami per mantenere le cose più separate.
Suggerimento: se stai utilizzando una versione più recente di Git, puoi estrarre rami specifici usando git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Devo avvertirti però, usare i rami per organizzare il codice (come le cartelle) non è davvero il modo migliore per fare le cose (tuttavia, non c'è nulla che dica che non puoi seguire questa strada).
( Sembra la mia risposta qui per informazioni correlate riguardo alle filiali GitHub. )
Ancora una volta, penso che più repository siano la strada da percorrere.
Potresti chiederti se il tuo codice deve davvero essere privato; è possibile che tu possa rendere pubblico questo codice senza ripercussioni?
Metti le librerie su GitHub, continua a ospitare il mio SVN per tutti gli altri progetti, usa una soluzione non VCS per il backup off-site (blech),
Se segui questa strada, Dropbox (o simile) potrebbe essere un buon modo per ottenere una qualche forma di controllo e sincronizzazione della versione per il backup off-site.
Metti librerie e software che prevedo di rilasciare su GitHub (rispettivamente come pubblico e privato), continua a ospitare il mio SVN per progetti che non mi interessano tanto e che probabilmente rivedrò per aggiornare la mia memoria su come implementare XYZ, decido che sono disposto a cancellarli se la mia casa implode (doppio blech),
Questo mi riporta alla domanda "Paghi già per l'hosting? In tal caso, potresti installare il tuo host Git"; il vantaggio è che potresti avere tutto il codice sorgente sotto l'ombrello di Git, anche se non è tutto sullo stesso host (ad esempio, usa GitHub per le cose pubbliche che vuoi mostrare).
Metti tutto su [GitHub e / o BitBucket], occupati di avere un numero ridicolo di repository cercando ciò di cui ho bisogno / mantenendo un set offline di puntatori nel mio account [GitHub e / o BitBucket] (triple blech)
---> Vedi la mia breve risposta sopra. ^^^^^^