Ich muss die Versionskontrolle implementieren, auch nur für die Entwicklung, die ich zu Hause mache. Ich habe gelesen, wie großartig Subversion in den letzten Jahren ist, und wollte mich nebenbei dem Lernen widmen, bis ich hörte, dass Git das aufstrebende Versionskontrollsystem ist.
Sollte ich mich angesichts der Situation zurückhalten und sehen, welches die Nase vorn hat? Was sind ihre relativen Vorteile?
Ein Problem, das mir bei Git aufgefallen ist, ist, dass es nicht viele voll funktionsfähige GUIs gibt, was für viele Benutzer in meinem Team wichtig ist.
Es würde auch nichts ausmachen, Vorschläge zu machen, wie man mit dem einen oder anderen anfängt. (Tutorials usw.)
git
svn
version-control
language-agnostic
dvcs
Mark Norgren
quelle
quelle
Antworten:
Das Wichtigste an der Versionskontrolle ist:
Fangen Sie einfach an, es zu benutzen
Die Versionskontrolle nicht zu verwenden, ist eine schreckliche Idee. Wenn Sie die Versionskontrolle nicht verwenden, hören Sie sofort auf zu lesen und verwenden Sie sie.
Es ist sehr einfach zu konvertieren
Es spielt keine Rolle, welche Sie wählen. Wählen Sie einfach die für Sie am einfachsten zu verwendende aus und beginnen Sie mit der Aufzeichnung des Verlaufs Ihres Codes. Sie können später jederzeit auf ein anderes (D) VCS migrieren.
Wenn Sie nach einer benutzerfreundlichen Benutzeroberfläche suchen, schauen Sie sich TortoiseSVN (Windows) und Versionen (Mac) an (empfohlen durch Codierung ohne Kommentare ).
Bearbeiten:
Diese. Die Verwendung von git ist sinnlos, wenn Sie nicht wissen, was die Versionskontrolle für Sie tun kann.
Bearbeiten 2:
Habe gerade diesen Link auf reddit gesehen: Subversion Cheat Sheet . Gute Kurzreferenz für die svn-Kommandozeile.
quelle
Verwenden Sie Subversion, es ist einfach einzurichten, einfach zu bedienen und verfügt über zahlreiche Tools. Jedes zukünftige Revisionssystem wird von der SVN-Funktion importiert, sodass Sie nicht später Änderungen vornehmen können, wenn Ihre Anforderungen steigen.
quelle
Das Subversion-Buch ist die beste Wahl, um das Tool zu erlernen. Es gibt vielleicht andere Schnellstart-Tutorials, aber das Buch ist die beste Referenz, die Sie finden werden.
Git hat einige nette Funktionen, aber Sie werden sie erst schätzen können, wenn Sie bereits etwas Standardisierteres wie CVS oder Subversion verwendet haben. Ich würde definitiv den vorherigen Postern zustimmen und mit Subversion beginnen.
quelle
Wenn Sie neu in versioncontrol sind, lesen Sie Folgendes :
Quellcodeverwaltung HOWTO
quelle
Gehen Sie für SVN. Wenn Sie noch nie zuvor die Quellcodeverwaltung verwendet haben, spielt dies für Sie auf die eine oder andere Weise keine Rolle.
Außerdem ist die Verwendung eines Quellcodeverwaltungssystems nicht sehr lernintensiv. Wenn Sie eines lernen, können Sie zu einem späteren Zeitpunkt problemlos zu einem anderen wechseln.
SVN ist ein großartiges Tool, das die meisten Ihrer Anforderungen erfüllen sollte. Und da es das schon gibt, gibt es eine ganze Reihe von GUI-Tools (zum Beispiel TortoiseSVN).
Gehen Sie für SVN.
quelle
Eine ausführliche Erläuterung der meisten grundlegenden Konzepte finden Sie unter Ein visueller Leitfaden zur Versionskontrolle . Der Artikel ist sehr SVN-freundlich.
quelle
Ich habe RCS, CVS, SCCS, SourceSafe, Vault, Perforce, Subversion und Git verwendet.
Ich habe BitKeeper, Dimensions, Arch, Basar, SVK, ClearCase, PVCS und Synergy bewertet.
Wenn ich heute ein neues Repository starten müsste, würde ich git wählen . Hände runter.
Es ist kostenlos, schnell und befindet sich in der aktiven Entwicklung.
Und Sie können es mit git-svn als Client für jedes Subversion-Repository verwenden.
Es rockt.
quelle
Ich finde, dass Git dafür einfacher ist, da Sie keinen Server benötigen oder sich Gedanken über die Eingabe von URLs machen müssen und so weiter. Ihr Versionskontrollmaterial befindet sich nur im
.git
Verzeichnis in Ihrem Projekt, und Sie können es einfach verwenden.5 Sekunden Intro (vorausgesetzt, Sie haben es installiert)
Das nächste Mal nehmen Sie einige Änderungen vor
Solange du das tust, hat Git deinen Rücken. Wenn Sie es vermasseln, ist Ihr Code im netten Git-Repository sicher. Es ist toll
quelle
git add .
( aktuelles Verzeichnis hinzufügen ), nichtgit add *
(Shell-Erweiterung verwenden), es ist schneller.Aus eigener Erfahrung würde ich git nicht als Einführung in die Versionskontrolle empfehlen. Ich benutze es jetzt seit ein paar Monaten und mein Eindruck ist, dass es sehr mächtig und - jetzt, wo ich es teilweise im Kopf habe - einigermaßen intuitiv ist. Die Lernkurve ist jedoch sehr steil, obwohl ich seit Jahren die Versionskontrolle verwende. Es leidet auch daran, zu ausdrucksstark zu sein - es unterstützt viele verschiedene Workflows und Entwicklungsmodelle, aber die einzige Anleitung zur "besten" Verwendung ist ein paar Seiten tief in einer Google-Suche, was es für einen Neuling auch schwierig macht, sie auszuwählen oben.
Das heißt, es ist möglich, dass das Starten von einer leeren Tafel mit Git tatsächlich einfacher ist - meine VCS-Erfahrung basiert ausschließlich auf der zentralen Versionskontrolle (CVS, SVN, Perforce ...) und ein Teil meiner (laufenden!) Schwierigkeiten mit Git war Verständnis der Auswirkungen des verteilten Modells. Ich habe kurz einen Blick auf andere DVCSes wie Bazaar und Mercurial geworfen und sie schienen etwas neuerfreundlicher zu sein.
Wie andere bereits gesagt haben, ist Subversion wahrscheinlich der einfachste Weg, sich an die Denkweise der Versionskontrolle zu gewöhnen und praktische Erfahrungen mit den Vorteilen von VCS zu sammeln (Rollback, Verzweigungen, gemeinsame Entwicklung, einfachere Codeüberprüfung usw.).
Oh, und fang nicht mit CVS an. Es ist immer noch in der Praxis und hat Vorteile, aber meiner Meinung nach hat es zu viele historische Macken und Implementierungsprobleme (nicht-atomare Commits!), Um eine gute Möglichkeit zum Lernen zu sein.
quelle
Meine Stimme geht an Subversion. Es ist sehr leistungsfähig und dennoch einfach zu bedienen und verfügt über einige großartige Tools wie TortoiseSVN .
Aber wie andere vor mir gesagt haben, fangen Sie einfach an, es zu benutzen. Die Quellcodeverwaltung ist ein wichtiger Bestandteil des Softwareentwicklungsprozesses. Kein "ernstes" Softwareprojekt sollte ohne es sein.
quelle
Bei meinem derzeitigen Job verwendete mein Vorgänger keinerlei Versionskontrolle. Es gibt nur Berge von Ordnern an mindestens drei verschiedenen Orten, an denen er alle seine Projekte aufbewahrt hat. Von jedem zufälligen Projektordner kann erwartet werden, dass er mindestens einen Ordnernamen "Projekt (ALT)" und einen mit dem Namen "Projekt" findet.
Mit der Versionskontrolle müssen Sie niemals Kopien von "sicheren" Builds erstellen. Sie müssen sich nicht wirklich Sorgen machen, dass Ihre IDE die Datei, an der Sie arbeiten, beschädigt (ich sehe Sie an, REALBasic 5.5), da es so einfach ist, Ihre Arbeit jeden Tag festzuschreiben (Lesen: Speichern).
Unnötig zu erwähnen, dass ich die Versionskontrolle am Tag, nachdem ich herausgefunden hatte, dass sie existiert, installiert habe.
TortoiseSVN macht das Festschreiben in der Datenbank so einfach wie das Klicken mit der rechten Maustaste auf einen Ordner.
quelle
Probieren Sie auch Visual SVN für Ihren Server aus, wenn Sie keine Befehlszeilenarbeiten ausführen möchten.
quelle
Wenn Sie unter Mac OSX arbeiten, habe ich festgestellt, dass http://www.versionsapp.com/"> Versionen ein unglaubliches (kostenloses) GUI-Frontend für SVN sind.
quelle
Git ist der Subversion überlegen, aber es ist ein bisschen auf dem neuesten Stand.
Ich würde sagen, wenn Sie gerade erst anfangen, springen Sie auf die Kante; Richten Sie ein kostenloses Konto unter http://github.com ein
Sie haben vor Ort Lehrmaterial zum Einrichten und Verwenden von Git.
quelle
Warte nicht. Wählen Sie eine aus und machen Sie mit. Alle Systeme haben ihre Vor- und Nachteile. Ihre Stromversorgung könnte ausfallen, Ihr Computer wird gestohlen oder Sie vergessen, eine größere Änderung rückgängig zu machen, und Ihr gesamter Code wird gebraten, während Sie darauf warten, wer als Sieger hervorgeht.
quelle
Es ist nicht so schwierig, zwischen Versionskontrollsystemen zu wechseln. Wie andere bereits erwähnt haben, ist es wichtig, so schnell wie möglich mit der Verwendung zu beginnen. Die Vorteile der Verwendung der Quellcodeverwaltung gegenüber der Nichtverwendung der Quellcodeverwaltung überwiegen bei weitem die unterschiedlichen Vorteile zwischen verschiedenen Arten der Quellcodeverwaltung.
Denken Sie daran, dass Sie unabhängig von der verwendeten Versionsverwaltungsversion immer eine Brute-Force-Konvertierung auf ein anderes System durchführen können, indem Sie die Dateien von Ihrem alten System auf die Festplatte legen und diese Rohdateien dann in das neue System importieren.
Darüber hinaus ist es als Softwareentwickler sehr, sehr wichtig, mit den Grundlagen der Quellcodeverwaltung vertraut zu sein.
quelle
Ja, SVN für die Präferenz, es sei denn, Sie benötigen wirklich die besonderen Funktionen von git. SVN ist schwer genug; Es klingt so, als wäre es komplizierter, mit Git zu leben. Sie können svn von Leuten wie Beanstalk gehostet werden - es sei denn, Sie haben Linux-Leute, ich würde es wirklich empfehlen. Dinge können schrecklich leicht schief gehen und es ist schön, jemanden zu haben, dessen Aufgabe es ist, das Problem zu beheben.
Es gibt ein ausgezeichnetes Tutorial zur Revisionskontrolle von Eric Sink, das es wert ist, gelesen zu werden, egal welches System Sie verwenden.
quelle
Verwenden Sie TortoiseSVN (version.app auf Mac). Einfach installieren und loslegen. Wenn Sie einen Ort zum Hosten Ihres Codes benötigen, besuchen Sie http://beanstalkapp.com/
quelle
SubVersion ist die beste Wahl für Sie, wie Karl Seguin betonte, wäre der Wechsel zu einem anderen Versionierungssystem kein Problem. Auch SVN hat sehr doof Einfach zu verwendende GUIs auf der Client-Seite (TortoiseSVN).
http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion
quelle
Wenn Sie sich für Subversion entscheiden und Ihren eigenen SVN-Server hosten möchten, gibt es einen sehr schönen und einfachen Windows-basierten Server namens VisualSVN-Server. Es verbirgt die Komplexität des Einrichtens eines Apache-Servers. Sie gehen einfach weiter. Die Benutzerkonfiguration wird mit einer webUI anstelle einer Konfiguration durchgeführt
http://www.visualsvn.com/server/
Die Verwendung einer öffentlich zugänglichen Bohnenstange ist wahrscheinlich einfacher, aber einige Leute möchten aus Gründen der Geschwindigkeit oder Sicherheit ihre eigenen Repositories haben
quelle
Coding Horror hat einen großartigen Beitrag zum Einrichten von Subversion unter Windows .
Nach dem Tutorial konnte ich Subervsion und TortoiseSVN lokal zum Laufen bringen, und ich bekam die Ausbildung, die ich brauchte.
Für Git ist es wahrscheinlich eine gute Idee, mit beiden experimentieren zu müssen, um zu verstehen, welche zu Ihrer spezifischen Entwicklungspraxis passt.
quelle
Als ich mich entschied, ein Code-Versionierungssystem zu verwenden, sah ich mich nach guten Tutorials für den Einstieg um, fand aber keine, die mir helfen könnten.
Also habe ich einfach den SVN-Server und Tortoise SVN für den Client installiert und bin in das Deepend eingetaucht, und ich lerne nicht, wie man es auf dem Weg benutzt.
quelle
Fangen Sie an, SVN für Ihre eigentliche Arbeit zu verwenden, aber nehmen Sie sich Zeit, um mit Git und / oder Mercurial herumzuspielen. SVN ist für die Produktion relativ stabil, aber irgendwann werden Sie mit einem Szenario konfrontiert sein, in dem Sie ein verteiltes SCM benötigen. Zu diesem Zeitpunkt sind Sie ordnungsgemäß bewaffnet und die neuen Systeme sind ausgereift genug.
quelle
Ich benutze SVN für alle meine persönlichen Projekte. Ich begann mit dem Ausführen von svn auf meinem Heimcomputer, migrierte aber schließlich zu Dreamhost. Ihre Hosting-Pakete, die Subversion enthalten, sind ziemlich vernünftig.
quelle
Wenn auf einer Windows-Box eine schnelle und schmutzige Lösung CVSNT ist. Einfach zu bedienen, einfach einrichten und funktioniert sehr gut.
Ich selbst bevorzuge SVN, aber dies ist eine gute für den schnellen Gebrauch.
quelle
Ich würde SVN definitiv CVS vorziehen, schon allein deshalb, weil Leute, die die Quellcodeverwaltung mit CVS gelernt haben, dazu neigen, "
svn delete
" dann "svn add
" anstelle von "svn move
" zu verwenden. Dies macht es schwieriger, alle vorherigen Revisionen einer bestimmten Datei zu finden. Und Sie können jederzeit auf git-svn upgraden. Ich persönlich denke, es ist einfacher zu lernen als hg, aber wirklich das Wichtigste zu verwenden SVN ist es das de-facto - Versionskontrollsystem von Open Source Software weitgehend worden ist.Wenn Sie jemals D lernen / verwenden möchten, ist es fast obligatorisch, auf Repositorys von Drittanbietern wie DSource zuzugreifen .
quelle
@ superjoe30 Ja, absolut. Sobald Sie die Versionskontrolle verwenden, kehren Sie nie mehr zurück. Ich benutze es für alles, sogar für meinen "Home" -Ordner.
@Orion Edwards Subversion benötigt keinen Server. Sie können direkt auf ein lokales Repository zugreifen (natürlich über einen Client), und es ist kein Serverprozess beteiligt.
quelle
Verwenden Sie einfach TortoiseSVN, und Sie können auch ohne Kenntnis der tatsächlichen Subversion-Befehle leben ... Aber das ist schlecht. Glücklicherweise wird es immer eine „großartige Gelegenheit“ geben, sie auswendig zu lernen - wenn Ihr unbezahlbares Repository zum ersten Mal beschädigt wird.
Ja, das passiert.
quelle
Wie schon oft an anderer Stelle erwähnt, mach es einfach. Mit Subversion unter Windows konnte ich in kürzester Zeit von vorne anfangen, indem ich die Kurzanleitung im Red Book las. Nachdem ich TortoiseSVN auf das Repository gerichtet hatte, war ich im Geschäft. Es dauerte eine Weile, bis ich die Feinheiten erreicht hatte, aber es waren kleine Buckel, um darüber hinwegzukommen.
Ich würde vorschlagen, den Subversion-Dienst zu installieren, anstatt file: // URLs zu verwenden, aber das ist meistens eine persönliche Präferenz. Für ein auf Ihrem Entwicklungscomputer gespeichertes Repository funktioniert file: // einwandfrei.
quelle
Aus persönlicher Erfahrung wäre SVN meine Empfehlung. Sie können sogar einen Dienst wie Beanstalk verwenden , der kostenlose Konten anbietet (mit Einschränkungen, die jedoch für jedes kleinere Projekt ausreichen), um das Wasser zu testen. Aber wie andere gesagt haben, ist Git überlegen und es lohnt sich wahrscheinlich, einen Blick darauf zu werfen.
quelle