Ich betreue die Programmiergruppe eines High School Robotik Teams. Ich möchte ein Quellcodeverwaltungs-Repository einrichten, um das Durcheinander zu vermeiden, Verzeichnisse manuell für das Teilen / Backups zu kopieren und manuell zusammenzuführen. Der Build-Ort wird normalerweise keinen Netzwerkzugriff haben, was mich zu verteilten Versionskontrollsystemen (DVCS) geführt hat, mit denen ich nicht vertraut bin.
Die größten Anforderungen sind die folgenden:
Es sollte auch leicht zu lernen und zu verwenden sein, vorzugsweise durch eine grafische Benutzeroberfläche, da ich mit Schülern arbeite, die noch nie ein Versionskontrollsystem benutzt haben.
Irgendwelche Vorschläge, welcher DVCS das am besten passt.
BEARBEITEN:
Danke für die Antworten. Mercurial sieht ziemlich gut aus, aber unterstützt es das Zusammenführen von Repositories von einem Verzeichnis zu einem anderen oder muss ich ein lokales Netzwerk für die Zusammenführung einrichten?
Mercurial ist sowohl unter Windows als auch unter Linux ziemlich einfach zu verwenden. TortoiseHg ist ein GUI-Frontend für Windows, das in den Explorer integriert werden kann; Es funktioniert gut. Beide sind Open Source. Ich verstehe, dass die Verwendung von Git unter Windows weniger einfach ist.
Danke für die Antworten. Mercurial sieht ziemlich gut aus, aber unterstützt es Zusammenführen von Repositories von einem Verzeichnis zu einem anderen, oder muss ich Richten Sie ein lokales Netzwerk zum Zusammenführen ein über?
Mercurial / TortoiseHg wird dies (und mehr) tun, ebenso wie alle anderen Tools zur verteilten Versionskontrolle (soweit ich weiß). Ich glaube, es wird Ihr Problem lösen. Es ist ein DVCS und mit TortoiseHg ist es einfach unter Windows zu verwenden. Andere verteilte Versionskontrollwerkzeuge werden wahrscheinlich auch funktionieren (zB bzr), aber ich habe weniger Erfahrung damit. Subversion (svn) ist ein zentralisiertes Tool zur Versionskontrolle. Mit einigen Workarounds könnten Sie es in Ihrer Umgebung funktionieren lassen, aber es behandelt wirklich nicht die Probleme, die Sie lösen möchten. Ich habe keine Ahnung, warum andere Responder es vorschlagen.
Git ist nett, aber seine Windows-Unterstützung ist extrem lax (sogar mit MSysGit ). Ich würde Mercurial empfehlen. Ich habe es selbst nicht benutzt, aber ich habe gehört, dass seine Windows-Unterstützung ziemlich brauchbar ist. Außerdem hat es eine etwas leichtere Lernkurve für Leute, die von traditionellen VCS kommen (wie SVN).
Ich denke, Mercurial würde Ihren Bedürfnissen entsprechen.
Mercurial ist das VCS, das ich persönlich benutze. Wirklich einfach zu lernen. Sie möchten es definitiv über Git ausprobieren, da die Unterstützung für Windows viel besser ist.
Danke für die Antworten. Mercurial sieht ziemlich gut aus, aber unterstützt es das Zusammenführen von Repositories von einem Verzeichnis zu einem anderen oder muss ich ein lokales Netzwerk für die Zusammenführung einrichten?
Ja, tut es. Alle unterstützen die DVCSes dies. Der einzige Unterschied zwischen diesem Vorgang und dem Zusammenführen von einem Server besteht normalerweise darin, dass Sie dem entsprechenden Befehl anstelle einer URL einen lokalen Dateipfad übergeben.
In Mercurial sieht es so aus:
Angenommen, Sie haben zwei Repositorys, eines auf Ihrer Festplatte (C: \ Project) und eines auf Ihrem Flash-Laufwerk (F: \ Project):
cd C:\Project
hg pull F:\Project
Ähnlich, wenn Sie zwei Repositories auf demselben System haben:
cd C:\Project
hg pull C:\Project1
Wenn eine Zusammenführung erforderlich ist, werden zwei "Köpfe" erstellt und Sie werden aufgefordert, sie mit hg merge
zusammenzuführen.
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
Beachten Sie, dass das derselbe ist, als ob Sie von einem Server gezogen und zusammengeführt hätten.
Ich fand SVN erstaunlich einfach einzurichten und zu verwenden, besonders für einen einzelnen Benutzer!
Eine Sache, die ich wirklich interessant fand - das ssh + svn-Protokoll nutzte SSHs Fähigkeit, eine Befehlszeile auf dem fernen System auszuführen, um SVN tatsächlich zu starten, also gab es überhaupt KEINE Einrichtung auf dem Server außerhalb der Erstellung eines Verzeichnisses für Ihr Repository.
SVN hat viele Shells, wenn Sie CLI nicht mögen (TortiseSVN unter Windows) - es ist also genauso einfach zu benutzen wie alles andere.
Tags und Links version-control dvcs