Frage

Welches Versionskontrollsystem wäre das beste, um als Anfänger in der Quellcodeverwaltung zu lernen?

War es hilfreich?

Lösung

Alles andere als visuell quellensicher;vorzugsweise eines, das die Konzepte der Verzweigung und Zusammenführung unterstützt.Wie andere bereits gesagt haben, ist Subversion eine gute Wahl, insbesondere mit dem TortoiseSVN-Client.

Schauen Sie sich das unbedingt an (entschuldigen Sie das Wortspiel) Eric Sinks klassische Serie von HOWTO-Artikeln zur Quellcodeverwaltung.

Andere Tipps

Ich würde vorschlagen, dass Sie Subversion ausprobieren, zum Beispiel mit 1-Klick-SVN-Installationsprogramm.Versuchen Sie, SO nach „Subversion“ zu suchen, und Sie werden jede Menge Fragen mit Antworten finden, die auf gute Tutorials hinweisen.

Viel Glück!

Ich würde direkt loslegen Git.Ich habe Subversion schon einmal verwendet, hatte aber immer das Gefühl, es falsch zu machen.Git machte vom ersten Tag an Sinn.

Nützliche Ressourcen:

Es gibt einige Kernkonzepte, die meiner Meinung nach wichtig zu lernen sind:

  1. Check-Ins/Check-Outs (natürlich)
  2. Lokale Versionen vs.Serverversionen
  3. Zuordnen/Binden eines lokalen Arbeitsbereichs zu einem Remote-Speicher oder Repository.
  4. Zusammenführen Sie Ihre Änderungen wieder in eine Datei, die Änderungen von anderen enthält.
  5. Verzweigung (was es ist, wann/warum es verwendet wird)
  6. Änderungen von einem Zweig zurück in einen Hauptzweig oder Stamm zusammenführen.

Die meisten modernen Versionsverwaltungssysteme erfordern gewisse Kenntnisse der oben genannten Themen und sollten Ihnen das Erlernen dieser Themen erleichtern.Dann haben Sie die verteilte Quellcodeverwaltung, mit der ich keine Erfahrung habe, die aber ziemlich kompliziert sein soll und möglicherweise nicht für Anfänger geeignet ist.

Subversion ist großartig, weil es alle modernen Funktionen bietet, die Sie sich wünschen, und kostenlos ist.

Git erfreut sich ebenfalls zunehmender Beliebtheit und ist eine weitere kostenlose oder sehr kostengünstige Alternative zu Subversion.Kenntnisse über die Konzepte der Verzweigung und Zusammenführung sind jedoch für die Verwendung von Git von entscheidender Bedeutung.

Sie können verwenden entwirren als kostenlose und einfache Möglichkeit, sowohl mit Git als auch mit Subversion zu experimentieren.Ich verwende es, um ein paar Subversion-Repositorys für einige Nebenprojekte zu hosten, an denen ich in der Vergangenheit gearbeitet habe.

Ich bin kein fortgeschrittener Quellcodeverwaltungsbenutzer, aber ich lerne.Hier sind meine Erfahrungen mit Quellcodeverwaltungsprodukten:

  1. Vor langer Zeit entschied sich das Unternehmen, für das ich damals arbeitete, für die Verwendung der Quellcodeverwaltung.Sie stellten das Konzept den Entwicklern vor und brachten alle dazu, es auszuprobieren.Sie entschieden sich für PVCS und implementierten es.Es dauerte nicht lange, bis sich die Entwickler koordinieren mussten, um Module und Objekte zu sperren/entsperren, und wir sahen wirklich keinen großen Nutzen.

  2. Ein paar Jahre später experimentierte ich mit der Erstellung eines Open-Source-Projekts und Rubyforge bot damals CVS-Repositories an.Ich habe es ausprobiert und es war geringfügig besser als PVCS.Zugegeben, ich war der Einzige, der das Repository nutzte.Allerdings war ich frustriert, als ich versuchte, die Struktur meiner Dateien neu zu ordnen, weil mir die Art und Weise, wie ich sie ursprünglich importiert hatte, nicht gefiel.Im CVS hat es nicht wirklich geklappt.

  3. Einige Jahre später arbeitete ich an einem anderen persönlichen Projekt und mein Webhosting-Anbieter bot einfach einzurichtende Subversion-Repositorys (SVN) an.Ich musste ein wenig recherchieren, um es richtig zum Laufen zu bringen, aber als ich die anfängliche Lernkurve überwunden hatte, gefiel es mir.

  4. Nicht lange danach wurde mir klar, dass mir die Quellcodeverwaltung gefiel und dass mein aktueller Job sie nicht hatte.Also habe ich evangelisiert und nach langer Zeit hat mein Team Source Safe implementiert, weil wir in Visual Studio arbeiten und im Allgemeinen ein Microsoft-Shop sind.Ich wollte es unbedingt verwenden, aber schon bald stellte ich fest, dass ich Dateien verlor und Visual Studio die Dinge an der falschen Stelle ablegte und dass ich eine Weile an einem Projekt arbeiten und meine Arbeit dann an einen anderen Ort exportieren würde und stellen fest, dass entweder nicht oder nur einige der Projekte in einer Lösung exportiert werden.Dadurch wurde mir klar, dass, obwohl ich dachte, ich würde ein „Versionskontrollsystem“ verwenden, die Kopie des Codes, die am sichersten, stabilsten und vollständigsten war, meine Arbeitskopie war.Das genaue Gegenteil von dem, was die Quellcodeverwaltung tun soll.

  5. Letzte Woche hatte ich Source Safe so satt, dass ich mich auf die Suche begab.Nachdem ich mir ein paar Lösungen angesehen hatte, beschloss ich, Git auszuprobieren.Ich möchte nicht sagen, dass alles ein Glücksfall war, da ich wieder einiges lernen musste, damit es das tut, was ich möchte. Es hat mir jedoch so gut gefallen, dass ich alle meine beruflichen und persönlichen Projekte darauf umgestellt habe.Das wirklich Schöne daran ist, dass ich kein zentrales Repository benötige, sodass ich es verwenden kann, ohne bei der Arbeit eine Menge Bürokratie für die Installation aufwenden zu müssen.

Kurz gesagt, ich würde Git empfehlen, ich verwende Mysysgit in Windows und es hat den zusätzlichen Vorteil, dass es mir eine Bash-Shell gibt.Unter Linux können Sie es einfach über Ihren Paketmanager installieren.Wenn Sie Git nicht mögen, versuchen Sie es mit Subversion.Wenn Ihnen eines davon nicht gefällt, werden Sie wahrscheinlich auch CVS oder PVCS nicht mögen.Versuchen Sie auf keinen Fall Source Safe, es ist schrecklich.

ich fand http://unfuddle.com Ich habe mir die Mühe mit der Installation von SVN oder Git erspart.Sie können dort ein kostenloses Konto einrichten und beides nutzen – außerdem können Sie dort Ihre OpenID verwenden.

Dann müssen Sie sich nicht mit der richtigen Einrichtung herumschlagen und können sich auf die Verwendung konzentrieren!

Vault von SourceGear.com ist hervorragend.Es ist für Einzelbenutzer kostenlos und bietet eine hervorragende VS 2005/2008-Schnittstelle.Ich liebe es!

rp

@Ian Nelson:

Ich stimme Ihnen zu, dass Source Safe als Quellcodeverwaltungssystem schlecht ist, aber bedenken Sie, dass die Verwendung von Source Safe viel besser ist, als „Disketten mit sich herumzutragen“, wie Joel Spolsky sagte.

Für einen Anfänger ist das vielleicht keine schlechte Idee, da die Kosten, wenn man überhaupt keine Quellcodeverwaltung hat, viel höher sind.

Jedes Tool hat seine Stärken und Schwächen.Es kommt sehr stark auf Ihre Anforderungen an.Leider wird bei diesem Problem, wie bei vielen anderen auch, oft nicht das beste Werkzeug ausgewählt, sondern das, mit dem jemand vertraut ist.Wenn Sie beispielsweise nicht viele Zweigstellen benötigen und Ihr Team klein und lokal ist, können fast alle VCS die Aufgabe erledigen (außer SourceSafe).Die Dinge ändern sich, wenn Sie Zweige benötigen (was fast zwangsläufig bedeutet, dass Sie auch Zusammenführungen durchführen müssen), Ihr Team verteilt ist, Sie erweiterte Sicherheit (Subunternehmer dürfen nicht auf den gesamten Quellbaum zugreifen), Aufgabenverfolgung usw. benötigen.Auch die Kostenfrage stellt sich auf drei verschiedene Arten:Kosten für Lizenzen, Wartungskosten (einige Tools sind so kompliziert, dass man in der Praxis jemanden braucht, der nur die Repositories kontrolliert) und Kosten für Schulung.

Daher ist es so, als würde man ein Tool einem anderen vorziehen, als würde man vorschlagen, welche Programmiersprache die beste wäre.

Nur ein paar Hinweise:

  • StarteAm ist die einfachste Werkzeuge, die ich verwendet habe.Es erforderte sehr wenig Schulungen.Ich habe ein eintägiges Training, da ich der Betreuer sein sollte.Diese Wartung dauerte weniger als 30 Minuten pro Woche.Benutzer, die ich "trainiert" habe, indem ich ein zweiseitiges Handbuch geschrieben habe, und danach hatte ich nur sehr wenige Fragen zu beantworten.
  • Continuus war das andere Ende der Skala, was die Benutzerfreundlichkeit betrifft.Andererseits war die Aufgabenabwicklung großartig und es wurde eine gute Unterstützung für das Release-Management geboten.Das Problem ist, dass ich selbst als Release-Manager nie gedacht hätte, dass die einfache Erstellung von Releases (man hatte erst einmal gelernt, wie es geht, aber das hat viel Zeit gekostet) wichtiger sein sollte als die tägliche Arbeit der Entwickler.
  • Das Zusammenführen und die Erzeugung des Zweigs unterscheidet sich wesentlich zwischen den Werkzeugen.Einige Werkzeuge machen diesen einfachen, wie Git und Clearcase (obwohl letztere sehr langsam ist). Einige zwingen Sie im Grunde genommen, die Zusammenführung von Hand zu machen.Wenn Sie viel verschmolzen müssen, können die Kosten hoch werden.ClearCase war auch in allen drei zuvor genannten Kategorien teuer (obwohl gesagt werden muss, dass wir alle nicht notwendigen erweiterten Dinge verwendet haben).Git hingegen fehlt eine gute Benutzeroberfläche, und einige Konzepte unterscheiden sich von dem, was Sie gewohnt werden könnten.Es fehlen auch die Sicherheitsmerkmale von GIT (Gitose befasst sich mit einigen Problemen, aber nicht allen).
  • Die meisten Werkzeuge, die ich verwendet habe, sind ebenfalls sehr langsam.Tools wie PVCs/Dimensionen waren nur langsam, egal was (grundlegende Dinge wie das Öffnen eines Verzeichnisses im Repository), einige sehr langsamer auf spezifischere Weise (wie ClearCase).

Von den Tools, die ich verwendet habe, würde ich StarTeam wählen, wenn Ihre Entwickler nicht sehr erfahren sind (und wenn es Ihnen nichts ausmacht, die Lizenz zu bezahlen, die ziemlich teuer ist) und Git, wenn Sie einige erfahrene VCS-Leute an Bord haben, die die Umgebung einrichten können zu anderen Jungs.Mercurial scheint auch ein interessanter Konkurrent zu sein und scheint über etwas bessere Benutzeroberflächen zu verfügen.

Continuus, PVCS/Dimensions und ClearCase sind für fast jedes Projekt einfach zu langsam, zu komplex und zu teuer.Wenn jemand darauf besteht, eines davon auszuwählen, würde ich mich für ClearCase entscheiden.

Ich habe Subversion nicht verwendet, was vielen zu gefallen scheint (aber ich habe das Gefühl, dass sich das in naher Zukunft ändern wird), daher kann ich nicht sagen, wie es im Vergleich zu den anderen Tools abschneidet, die ich verwendet habe (normalerweise als Build und/oder oder Release-Manager).

Was das erste zu wählende Tool betrifft, besteht das Problem bei Git, Bazaar und Mercurial darin, dass es sich um verteilte VCs handelt.Dies unterscheidet sich vom herkömmlichen Server-Client-Modell, bei dem Sie über ein zentrales Repository verfügen.Um einfach nur das Zeug zu lernen, würde ich empfehlen, auch etwas über die Konzepte zu lesen.Das Verzweigen beispielsweise ist etwas, das Sie möglicherweise nicht richtig verstehen, wenn Sie es selbst versuchen (es gibt verschiedene Verzweigungsstrategien für verschiedene Situationen).Außerdem ist es ganz anders, wenn Sie der Einzige sind, der auf das Repository zugreift. Zusammenführungskonflikte wären beispielsweise kein Problem (Sie sehen sie möglicherweise, können sie aber auch leicht beheben, da Sie den Code in beiden Zweigen kennen).Natürlich würde man sich über Check-outs, Check-ins usw. informieren, aber ich glaube nicht, dass diese Themen überhaupt besonders schwierig sind.

Ein zusätzliches Problem bei VCS besteht darin, dass sie dazu neigen, unterschiedliche Begriffe zu verwenden.In StarTeam, das ansonsten einfach zu verwenden ist, besteht man aus irgendeinem Grund darauf, die Begriffe „auschecken“ und „auschecken und sperren“ zu verwenden.Letzteres ist das, was die meisten Leute bei Ersterem vermuten.Dafür gibt es einen Grund (Sie können Dateien auch dann bearbeiten, wenn Sie keine exklusive Sperre haben), aber es wäre dennoch viel sinnvoller, diese „Get“ und „Check out“ zu nennen, um Verwirrung zu vermeiden.

Alles, aber ich würde selbst ein modernes System wie Git oder Subversion lernen.Mein erstes VCS war RCS, aber ich habe die Grundlagen verstanden.

Nun, wenn Sie einfach nur auf eigene Faust lernen möchten, würde ich sagen, dass Sie sich für etwas Kostenloses wie Subversion entscheiden sollten.Wenn Sie ein Unternehmen sind, das noch nie zuvor Quellcodeverwaltung verwendet hat, hängt dies wirklich von Ihren Anforderungen ab.

Mein erster Kontakt war CVS mit WinCVS als Client.es war schrecklich.Als nächstes folgte Subversion mit der Integration von TortoiseSVN und Eclipse.Es war intuitiv und himmlisch.Ich denke, dass die Verwendung von CVS mit TortoiseCVS und Eclipse auch schön wäre, obwohl ich die Art und Weise, wie SVN mit der Revisionierung umgeht, bevorzuge.Bei jedem Einchecken wird das gesamte Repository versioniert, nicht einzelne Dateien.

Ich würde auch Subversion empfehlen.Die Einrichtung dauert nicht allzu lange, es ist kostenlos und es gibt online ein wirklich gutes Buch, das sowohl die Grundlagen als auch einige fortgeschrittene Themen behandelt: http://svnbook.red-bean.com/

Subversion mit tortoisesvn.(tortoisesvn, weil man viel von dem, was vor sich geht, visuell sehen kann und einen guten Ausgangspunkt für die Befehlszeilen-Sachen bietet.) Es gibt jede Menge Dokumentationen und höchstwahrscheinlich werden Sie sie mindestens einmal in Ihrer Karriere sehen.Fast jedes Unternehmen, für das ich gearbeitet und ein Vorstellungsgespräch geführt habe, betreibt SVN.

Wenn Sie gleich zu Beginn ein kommerzielles Produkt erlernen möchten, stellt Perforce einen kostenlosen Client und Server zur Verfügung, wobei der Server zwei Benutzer und fünf Client-Arbeitsbereiche unterstützt.

An meinem vorherigen Arbeitsplatz wurde es von unseren Programmierern nicht nur für den Code, sondern auch für künstlerische Assets und Spielebenen sowie für meine eigene Dokumentation verwendet.

Subversion ist ein guter Ausgangspunkt.Es ist ein sehr stabiles und modernes Versionskontrollsystem.Die beste Online-Ressource, um etwas über Subversion zu lernen, wäre Versionskontrolle mit Subversion.Es gibt viele Möglichkeiten, was Server- und Client-Software betrifft.Ich persönlich bevorzuge (für Windows-Umgebung).

  1. VisualSVN-Server

  2. TortoiseSVN-Shell-integrierter Client und

  3. AnkhSVN Visual Studio Subversion Add-On

Auch hier stehen mit Subversion viele Optionen zur Verfügung.Außerdem handelt es sich um ein sich ständig weiterentwickelndes Versionskontrollsystem (im Gegensatz zum veralteten SourceSafe).Es lässt sich problemlos in zahlreiche automatisierte Build-Tools (CruiseControl, FinalBuilder) und Bug-/Issue-Tracking-Systeme (JIRA) integrieren.

Wenn Sie nach hochmodernen Versionskontrollsystemen suchen, entscheiden Sie sich für Git (entwickelt von Linus Torvalds).Aber wenn Sie mit Versionskontrollsystemen völlig neu sind, würde ich vorschlagen, mit Subversion zu beginnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top