Réponse courte ...
Ma suggestion: commencez avec des comptes publics sur GitHub et / ou Bitbucket (autre?). Lancez quelques projets publics et commencez à utiliser les outils / interfaces. Une fois que vous avez une idée des services, vous devez avoir une idée des limites, des avantages et des inconvénients de chaque service. À partir de là, vous devriez pouvoir choisir le meilleur chemin vers l'illumination du contrôle de version. :)
Longue réponse ...
Je n'ai pas actuellement de sauvegarde hors site pour la plupart de mon code, donc dans le cadre de cela, je pensais à l'origine que je téléchargerais tous mes projets personnels, ou au moins tous mes projets iOS, vers un référentiel privé hébergé par GitHub . Cependant, j'ai beaucoup de projets assis, dont beaucoup sont de faible valeur (c.-à-d. Adaptés de livres et écrits pour l'expérience d'apprentissage).
Avez-vous envisagé d'installer votre propre client Git? Si vous payez déjà pour l'hébergement Web, il peut être judicieux d'utiliser cet hôte pour votre propre configuration Git.
Par exemple, mon hôte est WebFaction (sans affiliation):
Installation de l'application Web Git
Prendre cette route peut vous permettre d'économiser des $$$, en particulier. si vous payez déjà pour l'hébergement.
Non seulement GitHub est facturé par le référentiel privé,
Juste pour clarifier pour les autres (encore une fois, aucune affiliation commerciale à GitHub ou BitBucket):
- 7 $ / mois. pour jusqu'à 5 référentiels privés , illimité tout le reste.
- 12 $ / mois pour jusqu'à 10 référentiels privés , illimité tout le reste.
- 12 $ / mois pour jusqu'à 20 référentiels privés , illimité tout le reste.
Notez que la tarification "Business Plans" est différente.
Comme indiqué par Andrew dans l'autre réponse, Bitbucket vante les repos privés illimités.
- 5 utilisateurs: gratuit
- 10 utilisateurs: 10 $ / mois.
- 25 utilisateurs: 25 $ / mois.
- 50 utilisateurs: 50 $ / mois.
- 100 utilisateurs: 100 $ / mois.
- 200 $ / mois illimité .
il ne semble pas avoir de moyen d'organiser hiérarchiquement les référentiels.
Je ne sais pas exactement ce que vous entendez par "hiérarchiquement" (probablement parce que je ne suis pas familier avec SVN).
Je ne sais pas si cela pourrait aider, mais vous pouvez consulter ce tableau de comparaison pour voir comment les commandes se comparent / diffèrent:
Y a-t-il quelque chose qui me manque qui me permettrait d'utiliser un référentiel git avec une hiérarchie et de vérifier les morceaux selon mes besoins / travailler avec eux, comme je le fais actuellement avec SVN?
Ramification?
Est-ce que GitHub (ou un concurrent, comme BitBucket) a des fonctionnalités d'organisation de projet qui me manquent?
Je ne sais pas si cela vous aidera, mais vous pouvez jeter un œil à:
Git est livré avec des outils GUI intégrés pour la validation ( git-gui ) et la navigation ( gitk ), mais il existe plusieurs outils tiers pour les utilisateurs à la recherche d'une expérience spécifique à la plate-forme.
... encore une fois, je ne sais pas si l'un de ces outils pourrait vous aider à avoir une idée de ce qui est possible.
Pour être clair, je ne suis pas sûr de votre niveau de compétence Git ... si vous êtes nouveau sur Git / GitHub, l'utilisation d'une interface graphique peut être un moyen rapide / facile pour vous de vous faire une idée des choses. Personnellement, j'aime utiliser les applications officielles GitHub pour Mac / Windows.
A défaut, quelle est la «manière git» généralement acceptée de gérer cette situation (ignorer les projets non destinés à être publiés, les stocker hors ligne, les regrouper d'une manière ou d'une autre, etc., etc.)?
Si j'étais vous, j'utiliserais des référentiels.
De combien de référentiels privés avez-vous besoin?
Si vous souhaitez utiliser GitHub, une solution pourrait être d'obtenir le plan le moins cher et d'utiliser quelques dépôts privés pour contenir tout votre code de test / non public. Vous pouvez simplement utiliser une structure de dossiers sur votre main
branche pour maintenir une structure hiérarchique, ou vous pouvez utiliser plusieurs branches pour garder les choses plus séparées.
Conseil: Si vous utilisez une version plus récente de Git, vous pouvez extraire des branches spécifiques en utilisant git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Je dois cependant vous avertir, l'utilisation de branches pour organiser le code (comme les dossiers) n'est pas vraiment la meilleure façon de faire les choses (cependant, rien ne dit que vous ne pouvez pas emprunter cette voie).
( Voir ma réponse ici pour des informations connexes concernant les branches GitHub. )
Encore une fois, je pense que plusieurs dépôts sont la voie à suivre.
Vous pourriez vous demander si votre code doit vraiment être privé; est-il possible que vous puissiez rendre public ce code sans aucune répercussion?
Mettez des bibliothèques sur GitHub, continuez d'héberger mon propre SVN pour tous les autres projets, utilisez une solution non VCS pour la sauvegarde hors site (blech),
Si vous suivez cette voie, Dropbox (ou similaire) peut être un bon moyen d'obtenir une certaine forme de contrôle de version et de synchronisation pour votre sauvegarde hors site.
Mettre les bibliothèques et les logiciels que je prévois de publier sur GitHub (en tant que public et privé, respectivement), continuer à héberger mon propre SVN pour des projets qui ne m'intéressent pas autant et que je ne reviendrai probablement que pour rafraîchir ma mémoire sur la façon d'implémenter XYZ, décider que je suis prêt à les radier si ma maison implose (double coup),
Cela me ramène à la question "Payez-vous déjà pour l'hébergement? Si oui, vous pouvez installer votre propre hôte Git"; l'avantage étant que vous pourriez avoir tout le code source sous le parapluie Git, même s'il n'est pas tout sur le même hôte (c'est-à-dire utiliser GitHub pour les trucs publics que vous voulez montrer).
Mettez tout sur [GitHub et / ou BitBucket], traitez d'avoir un nombre ridicule de référentiels en recherchant ce dont j'ai besoin / en maintenant un ensemble de pointeurs hors ligne dans mon compte [GitHub et / ou BitBucket] (triple blech)
---> Voir ma courte réponse ci-dessus. ^^^^^^