Resposta curta ...
Minha sugestão: comece com contas públicas no GitHub e / ou Bitbucket (outro?). Crie alguns projetos públicos e comece a usar as ferramentas / interfaces. Depois de ter uma idéia dos serviços, você deve ter uma idéia de quais são as limitações, vantagens e desvantagens de cada serviço. A partir daí, você poderá escolher o melhor caminho para a iluminação do controle de versão. :)
Resposta longa ...
No momento, não tenho backup externo para a maior parte do meu código; portanto, como parte disso, originalmente pensei em carregar todos os meus projetos pessoais, ou pelo menos todos os meus projetos iOS, em um repositório privado hospedado no GitHub . No entanto, tenho muitos projetos por aí, muitos dos quais têm um valor bastante baixo (ou seja, adaptados de livros e escritos para a experiência de aprendizado).
Você já pensou em instalar seu próprio cliente Git? Se você já está pagando pela hospedagem na Web, pode fazer sentido usar esse host para sua própria configuração do Git.
Por exemplo, meu host é WebFaction (sem afiliação):
Instalando o aplicativo Web Git
O rumo desta rota pode permitir a você economizar alguns $$$, esp. se você já está pagando pela hospedagem.
O GitHub não cobra apenas pelo repositório privado,
Apenas para esclarecer para outras pessoas (novamente, nenhuma afiliação comercial ao GitHub ou BitBucket):
- US $ 7 / mês. para até 5 repositórios particulares , ilimitado todo o resto.
- US $ 12 / mês. para até 10 repositórios particulares , ilimitado todo o resto.
- US $ 12 / mês. para até 20 repositórios particulares , ilimitado todo o resto.
Observe que o preço dos "Planos de negócios" é diferente.
Conforme declarado por Andrew na outra resposta, o Bitbucket promove acordos privados ilimitados.
- 5 usuários: grátis
- 10 usuários: US $ 10 / mês.
- 25 usuários: US $ 25 / mês.
- 50 usuários: US $ 50 / mês.
- 100 usuários: US $ 100 / mês.
- Ilimitado $ 200 / mês.
parece não haver nenhuma maneira de organizar repositórios hierarquicamente.
Não sei exatamente o que você quer dizer com "hierarquicamente" (provavelmente porque não estou familiarizado com o SVN).
Não tenho certeza se isso ajudaria, mas você pode olhar para esta tabela de comparação para ver como os comandos se comparam / diferem:
Falta algo que me permita usar um repositório git com uma hierarquia e verificar as peças conforme eu precisar delas / trabalhar com elas, da maneira que atualmente faço com o SVN?
Ramificação?
O GitHub (ou um concorrente, como o BitBucket) tem alguns recursos de organização do projeto que estão faltando?
Não tenho certeza se isso vai ajudar, mas você pode dar uma olhada em:
O Git vem com ferramentas GUI integradas para confirmação ( git-gui ) e navegação ( gitk ), mas existem várias ferramentas de terceiros para usuários que procuram experiência específica da plataforma.
... novamente, não tenho certeza se alguma dessas ferramentas pode ajudá-lo a entender o que é possível.
Para ser claro, não tenho certeza do seu nível de habilidade no Git ... se você é novo no Git / GitHub, o uso de uma GUI pode ser uma maneira rápida / fácil de entender as coisas. Pessoalmente, gosto de usar os aplicativos oficiais do GitHub para Mac / Windows.
Na falta disso, qual é a "maneira geral" aceita de lidar com essa situação (descartar projetos não destinados ao lançamento, armazená-los offline, agrupá-los de alguma forma etc.)?
Se eu fosse você, estaria usando repositórios.
Quantos repositórios particulares você precisa?
Se você deseja usar o GitHub, uma solução pode ser obter o plano mais barato e utilizar alguns repositórios particulares para armazenar todo o seu código de teste / não público. Você pode simplesmente usar uma estrutura de pastas em sua main
ramificação para manter uma estrutura hierárquica ou usar várias ramificações para manter as coisas mais separadas.
Dica: se você estiver usando uma versão mais recente do Git, poderá extrair ramificações específicas usando git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Eu tenho que avisá-lo, porém, o uso de ramificações para organizar o código (como pastas) não é realmente a melhor maneira de fazer as coisas (no entanto, não há nada que diga que você não pode seguir esse caminho).
(Veja minha resposta aqui para obter informações relacionadas com relação às ramificações do GitHub. )
Mais uma vez, acho que vários repositórios são o caminho a percorrer.
Você pode se perguntar se seu código realmente precisa ser privado; é possível que você possa tornar público esse código sem nenhuma repercussão?
Coloque bibliotecas no GitHub, continue hospedando meu próprio SVN para todos os outros projetos, use uma solução que não seja VCS para backup externo (blech),
Se você liderar essa rota, o Dropbox (ou similar) pode ser uma boa maneira de obter alguma forma de controle de versão e sincronização para o backup externo.
Coloque as bibliotecas e o software que planejo lançar no GitHub (como público e privado, respectivamente), continue hospedando meu próprio SVN para projetos de que não me importo tanto e que provavelmente revisarei para atualizar minha memória sobre como implementar o XYZ, decido que estou disposto a amortizá-las se minha casa implodir (duplo golpe),
Isso me leva de volta à pergunta "Você já paga pela hospedagem? Nesse caso, você pode instalar seu próprio host Git"; a vantagem é que você pode ter todo o código-fonte sob o guarda-chuva do Git, mesmo que não esteja tudo no mesmo host (por exemplo, use o GitHub para as coisas públicas que você deseja exibir).
Coloque tudo no [GitHub e / ou BitBucket], lide com ter um número ridículo de repositórios pesquisando o que eu preciso / mantendo algum conjunto offline de ponteiros na minha conta [GitHub e / ou BitBucket] (blech triplo)
---> Veja minha resposta curta acima. ^^^^^^