2009-06-30 4 views
5

Ich bin ein College-CS Neuling, der ein Versionskontrollsystem gut lernen will. Momentan betrachte ich Subversion, Perforce und Surround SCM.Learning-Versionskontrolle für einen College-Neuling

Ich würde das System mit Eclipse integrieren, auf einer Linux-Plattform. Der Code wäre hauptsächlich C++, Java und LaTeX (das ich auch Eclipse verwenden werde).

Wahrscheinlich werde ich der einzige Benutzer sein, aber der Vorteil von SVN ist, dass es Open Source ist, während die anderen beiden proprietär sind. Ich habe viele gute Zeugnisse über TortiseSVN gehört, aber da ich Linux verwende, werde ich das verpas- sen.

EDIT: Danke für alle Antworten. Natürlich bin ich offen für andere Versionskontrollsysteme. Ich werde Git und Mercurial ausprobieren.

Antwort

8

Wenn Sie Versionskontrollsysteme lernen, sollten Sie eines der neueren verteilten Versionskontrollsysteme wie Git oder Mercurial in Betracht ziehen. Indem Sie Ihren Umfang auf die vorherige Generation von Tools beschränken, wie Sie bereits erwähnt haben, werden Sie verkennen, was (einige) Leute heute wirklich verwenden.

Zum Lernen eines Systems, würde ich wahrscheinlich nicht empfehlen, ein kommerzielles Angebot zu wählen. Mit einer Open-Source-Lösung erhalten Sie viel besseren Support und kostenlose Dokumentation.

1

Wenn Sie der einzige auf einem Projekt sein werden, sollten Sie definitiv SVN auschecken. Holen Sie sich Subclipse, ein Eclipse-Plugin für Subversion, und gewöhnen Sie sich daran. Dann gehen Sie zu anderen Versionskontrollsystemen über, sobald Sie sich wohl fühlen.

5

Wenn das Ihre einzigen Optionen sind, definitiv SVN. Das ist derjenige (von dieser Liste), den echte Leute in freier Wildbahn benutzen.

Ehrlich gesagt, lernen Sie ein DVCS. Git, Mercurial, Darcs, einer von ihnen.

1

Ich möchte die (oder dritten) diejenigen, die Git oder Mercurial (oder Bazaar) vorgeschlagen haben. Verteilte Versionskontrollsysteme sind nicht nur gut für Projekte mit mehreren Mitwirkenden geeignet; Ich benutze Git für alle Projekte, die ich beginne, auch wenn es sich nur um einen Wurf handelt. Grundsätzlich ist Ihr Entwicklungsordner Ihr Repository - Es ist portabel, und es ist einfach, weitere Benutzer hinzuzufügen und später zu einem traditionelleren zentralisierten Workflow zu wechseln.

Ich empfehle Git vor allem, weil es ein bisschen eine steile Lernkurve hat, aber es hat mir so viel über Projektmanagement, Revisionskontrolle gelehrt, wie Dateien zusammenführen und patchen, wie 'diff' Ausgabe lesen usw. Es lässt Sie wirklich zu den feinkörnigen Details der Versionskontrolle kommen.

1

SVN ist sehr einfach zu erlernen. Für diejenigen, die Windows verwenden, ist die GUI-Version großartig.

Auch wenn Sie Linux laufen, würde ich es immer noch das Lernen empfehlen, weil es weit verbreitet in Orten wie Google Code, Python, Wordpress, etc. verwendet wird ...

0

Bazaar für Ein-Personen absolut genial ist, Serverlose Entwicklung. Es dauert ganze fünf Minuten, um eingerichtet zu werden, und es funktioniert sofort. Es hat die Kraft von großen VCS ... aber es ist einfach genug, um es selbst zu benutzen.

Ich habe gehört, Git und Mercurial sind in der gleichen Richtung ...aber ich habe a = nur Bzr benutzt.

0

würde ich Subversion, einfach wegen seiner Allgegenwart in Open-Source-Projekte empfehlen. Es gibt definitiv eine Menge Möglichkeiten, Ihr Subversion-Wissen in Open-Source-Projekten einzusetzen. Wenn Sie das tun, werden Sie eine Menge über Programmierung, Teamarbeit und die richtige Verwendung eines VCS in einem Team (das ist die Hälfte) lernen zu lernen, ein VCS zu verwenden, und ist der schwierige Teil, weil Sie es nicht sehr gut auf eigene Faust lernen können). Weniger Open-Source-Projekte verwenden proprietäre VCS, was bedeutet, dass Sie weniger Möglichkeiten haben, sie in der realen Welt zu verwenden, es sei denn, Sie arbeiten speziell mit Freunden oder als Job. Ich habe die anderen beiden, die du erwähnt hast, nicht benutzt, aber ich habe keine Beschwerden über Subversion, es ist ziemlich einfach zu benutzen.

Ich würde auch gerne eine verteilte VCS, wie git empfehlen. Da bei einem verteilten VCS jeder Teilnehmer in einem Projekt über eine vollständige Kopie des Quellrepositorys verfügt und die vollständige Kontrolle über seine eigene Kopie hat, bedeutet dies, dass Ihnen die Verwendung der VCS-Funktionen größere Flexibilität bietet. Sie werden feststellen, dass Sie die Freiheit haben, so oft wie Sie möchten festzuhalten und neue Zweige zu erstellen, wann immer Sie möchten. Das ist großartig, wenn Sie Änderungen am Code vornehmen und die Möglichkeit haben, bei Bedarf zu einer alten Version zurückzukehren . Ein verteiltes VCS ermöglicht es Ihnen, das VCS als ein Werkzeug zu verwenden, das Ihnen beim Codieren hilft, anstatt einfach Ihren Code mit anderen zu speichern und zu teilen. Es ist auch sehr einfach, ein neues Repository in einem verteilten VCS einzurichten. Mit git starten Sie einfach git init und es wird Versionskontrolle im aktuellen Verzeichnis eingerichtet. Wie einfach ist das?