Kurze Antwort ...
Mein Vorschlag: Beginnen Sie mit öffentlichen Konten auf GitHub und / oder Bitbucket (andere?). Eröffne ein paar öffentliche Projekte und benutze die Tools / Interfaces. Sobald Sie ein Gefühl für die Dienste haben, sollten Sie ein Gespür dafür haben, welche Einschränkungen, Vor- und Nachteile die einzelnen Dienste haben. Von dort aus sollten Sie in der Lage sein, den besten Weg zur Versionskontrollaufklärung zu wählen. :)
Lange Antwort ...
Ich habe zurzeit keine Offsite-Sicherung für den größten Teil meines Codes. Daher dachte ich ursprünglich, ich würde alle meine persönlichen Projekte oder zumindest alle meine iOS-Projekte in ein privates Repository hochladen, das von GitHub gehostet wird . Es sitzen jedoch viele Projekte herum, von denen viele von geringem Wert sind (dh aus Büchern adaptiert und für die Lernerfahrung geschrieben).
Haben Sie darüber nachgedacht, Ihren eigenen Git-Client zu installieren? Wenn Sie bereits für das Webhosting bezahlen, ist es möglicherweise sinnvoll, diesen Host für Ihr eigenes Git-Setup zu verwenden.
Zum Beispiel ist mein Host WebFaction (keine Zugehörigkeit):
Installieren der Git-Webanwendung
Wenn Sie diese Route ansteuern, können Sie möglicherweise etwas Geld sparen. wenn Sie bereits für das Hosting bezahlen.
GitHub wird nicht nur vom privaten Repository aufgeladen,
Nur zur Klarstellung für andere (auch hier keine geschäftliche Zugehörigkeit zu GitHub oder BitBucket):
- $ 7 / Monat für bis zu 5 private Repositories , alles andere unbegrenzt.
- 12 USD / Monat Für bis zu 10 private Repositories , alles andere unbegrenzt.
- 12 USD / Monat Für bis zu 20 private Repositories , alles andere unbegrenzt.
Beachten Sie, dass die Preise für "Geschäftspläne" unterschiedlich sind.
Wie in der anderen Antwort von Andrew angegeben, wirbt Bitbucket für unbegrenzte private Repos.
- 5 Benutzer: Kostenlos
- 10 Benutzer: $ 10 / Monat
- 25 Benutzer: 25 USD / Monat
- 50 Benutzer: 50 USD / Monat
- 100 Benutzer: 100 USD / Monat
- Unbegrenzt 200 USD / Monat
Es scheint keine Möglichkeit zu geben, Repositorys hierarchisch zu organisieren.
Ich weiß nicht genau, was Sie unter "hierarchisch" verstehen (wahrscheinlich, weil ich mit SVN nicht vertraut bin).
Ich bin mir nicht sicher, ob dies helfen würde, aber Sie könnten in dieser Vergleichstabelle nachsehen, wie sich die Befehle vergleichen / unterscheiden:
Fehlt mir etwas, mit dem ich ein Git-Repository mit einer Hierarchie verwenden und Teile nach Bedarf auschecken bzw. damit arbeiten kann, wie ich es derzeit mit SVN tue?
Verzweigung?
Verfügt GitHub (oder ein Mitbewerber wie BitBucket) über einige Funktionen zur Projektorganisation, die mir fehlen?
Ich bin mir nicht sicher, ob dies helfen wird, aber Sie könnten einen Blick darauf werfen:
Git wird mit integrierten GUI-Tools zum Festschreiben ( Git- GUI ) und Durchsuchen ( GitK ) geliefert. Es gibt jedoch mehrere Tools von Drittanbietern für Benutzer, die eine plattformspezifische Erfahrung suchen.
Ich bin mir nicht sicher, ob eines dieser Tools Ihnen dabei helfen kann, ein Gefühl für das Mögliche zu bekommen.
Um es klar auszudrücken, ich bin mir nicht sicher, ob Sie Git-Kenntnisse haben. Wenn Sie noch nicht mit Git / GitHub vertraut sind, ist die Verwendung einer GUI möglicherweise eine schnelle / einfache Möglichkeit, um ein Gefühl für die Dinge zu bekommen. Ich persönlich benutze gerne die offiziellen GitHub für Mac / Windows-Apps.
Wenn dies nicht der Fall ist, was ist die allgemein akzeptierte "git way", um mit dieser Situation umzugehen (Projekte, die nicht für die Veröffentlichung vorgesehen sind, verwerfen, offline speichern, sie irgendwie bündeln usw. usw.)?
Wenn ich Sie wäre, würde ich Repositories verwenden.
Wie viele private Repositories benötigen Sie?
Wenn Sie GitHub verwenden möchten, besteht eine Lösung darin, den günstigsten Plan zu erhalten und einige private Repos zu verwenden, um Ihren gesamten Test- / nicht öffentlichen Code zu speichern. Sie könnten einfach eine Ordnerstruktur in Ihrem main
Zweig verwenden, um eine hierarchische Struktur beizubehalten, oder Sie könnten mehrere Zweige verwenden, um die Dinge getrennter zu halten.
Tipp: Wenn Sie eine neuere Version von Git verwenden, können Sie bestimmte Verzweigungen mithilfe der folgenden Methoden ziehen git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Ich muss Sie jedoch warnen, dass die Verwendung von Zweigen zum Organisieren von Code (wie Ordnern) nicht die beste Methode ist (es gibt jedoch nichts, was besagt, dass Sie diesen Weg nicht beschreiten können).
( Meine Antwort hier für verwandte Informationen in Bezug auf GitHub-Filialen. )
Auch hier denke ich, dass mehrere Repos der richtige Weg sind.
Sie könnten sich fragen, ob Ihr Code wirklich privat sein muss. ist es möglich, dass Sie mit besagtem Code ohne Auswirkungen an die Öffentlichkeit gehen könnten?
Lege Bibliotheken auf GitHub, hoste weiterhin meinen eigenen SVN für alle anderen Projekte, verwende eine Nicht-VCS-Lösung für Off-Site-Backups (blech),
Wenn Sie sich auf diesen Weg begeben , ist Dropbox (oder ein ähnliches Programm ) möglicherweise eine gute Möglichkeit, eine Form der Versionskontrolle und Synchronisierung für Ihre Offsite-Sicherung zu erhalten.
Stellen Sie Bibliotheken und Software, die ich veröffentlichen möchte, auf GitHub (als öffentlich bzw. privat) und hosten Sie weiterhin meinen eigenen SVN für Projekte, die mir weniger wichtig sind. entscheide, dass ich bereit bin, sie abzuschreiben, wenn mein Haus implodiert (double blech),
Dies bringt mich zurück zu der Frage "Zahlen Sie bereits für das Hosting? Wenn ja, könnten Sie Ihren eigenen Git-Host installieren"; Der Vorteil ist, dass Sie den gesamten Quellcode unter dem Dach von Git haben können, auch wenn sich nicht alle auf demselben Host befinden (dh verwenden Sie GitHub für die öffentlichen Inhalte, die Sie präsentieren möchten).
Stellen Sie alles auf [GitHub und / oder BitBucket] und umgehen Sie die lächerliche Anzahl von Repositorys, indem Sie in meinem Konto [GitHub und / oder BitBucket] nach dem suchen, was ich brauche.
---> Siehe meine kurze Antwort oben. ^^^^^^