45

Nach einiger Suche in SO, Google und MSDN-Foren war ich frustriert, dass es so wenig Informationen für eine scheinbar offensichtliche Frage und möglicherweise eine dumme Frage gibt.Versionskontrolle in Visual Studio 2010?

Ich muss Quellcodeverwaltung in Visual Studio 2010 Professional verwenden. Ich habe keinen separaten Team Foundation Server 2010. Einige Leute haben SourceSafe erwähnt? Ich habe SourceSafe innerhalb von Visual Studio 2010 nicht gesehen, um ehrlich zu sein.

Was sind einige Alternativen (vorzugsweise frei) für die Quellcodeverwaltung in Visual Studio 2010? Oder ist es bereits in Visual Studio 2010 integriert, dass ich so blind bin, dass ich das übersehen habe?

Update # 1: Vielen Dank an alle, werde ich mit SVN gehen, insbesondere AnkhSVN für Visual Studio 2010.

-Update 2011.03.23: Es ist, da ich fast ein Jahr gewesen habe diese Frage gestellt. Ich empfehle entweder Mercurial oder Git über Subversion. Wenn Sie nach einem Versionskontrollsystem für Visual Studio 2010 suchen, suchen Sie nicht weiter als Git oder Mercurial-Erweiterungen aus der Visual Studio-Erweiterungsbibliothek.

-Update 2013.05.16: Ich würde jetzt dringend ermutigen Git über Mercurial,TFS oder SVN zu verwenden. Werfen Sie einen Blick auf CodeSchoolTry GitHub im Browser, um zu sehen, wie toll es ist!

enter image description here

+3

Vielen Dank für Ihre Empfehlungen. Besonders nützlich für alle, die gerade anfangen, Quellcodeverwaltungssysteme wie mich zu benutzen. +1 – Arman

+0

Vielen Dank für die Aktualisierung der Frage. Empfiehlst du GIT weiterhin für die Quellcodeverwaltung? –

Antwort

17

See: List of Source Control Systems with Visual Studio Plugins


Visual Studio ist nur eine IDE. Sie können damit jede gewünschte Versionskontrolllösung verwenden. Jede Open-Source-Lösung zur Versionskontrolle, insbesondere git, mercurial (hg) oder subversion (svn). Und es gibt kommerzielle Produkte wie Perforce oder SourceGear Vault. Eine ziemlich erschöpfende Liste finden Sie unter here und google für weitere Informationen.

Sie können Visual Studio-Plugins finden, die es mit jeder Quellcodeverwaltung integrieren. Von Open Source ist Subversion in dieser Hinsicht besonders reich. Kommerzielle kommen normalerweise mit dieser Integration.

Und wenn Sie keine Quellcodeverwaltung verwenden, die erfordert, dass Sie explizit Dateien auschecken, um sie zu bearbeiten (wie VSS oder TFS), ist die IDE-Integration nicht einmal von wesentlicher Bedeutung. Ich bevorzuge es, git oder subversion von außerhalb der IDE zu verwenden.


Und bitte bleiben Sie so weit von Visual SourceSafe wie Sie können.

+4

SourceSafe = Reines Übel. –

+2

@Andrew Flanagan: Ich glaube, es gab hier keinen schlechten Willen bei der Arbeit. Es gibt kein Übel in VSS. Nur Faulheit und Dummheit. –

+0

Git hat mich dazu gebracht, meine Angst vor der Befehlszeile zu überwinden, und dafür bin ich sehr dankbar, auch in der Open-Source-Community sehr beliebt, sollten Sie jemals außerhalb von Visual Studio arbeiten. Ein großartiger Ort, um .NET Web-Anwendungen in der Entwicklung zu schieben ist appharbor.com, – Alex

2

Wie @Tomek vorgeschlagen, Subversion zu verwenden.

prüfen diesen Beitrag aus, die Sie Subversion und AnkhSVN (VS-Plugin) mit VS2010

Visual Studio 2010, subversion with AnkhSVN

+0

Just aktualisiert mein Beitrag für AnkhSVN :) –

+0

Ich habe nicht __suggested__ mit Subversion. Ich habe nur Hinweise auf beliebte Alternativen gezeigt. Eigentlich, wenn ich etwas empfehlen müsste, wäre es git oder mercurial (je nach Geschmack bevorzuge ich git). Subversion hat seine relative Einfachheit und Reife (daher viele gute Werkzeuge einschließlich VS-Plugins und einfach _lovely_ TortoiseSVN). Aber ich mag es nicht, weil es seinen Zweig nicht von seinem Ordner unterscheiden kann und einfach nicht zusammenführen kann. Nicht so schlecht wie TFS, aber immer noch ... –

7

I Ankh SVN zusammen mit Subversion auf der Serverseite bin mit zu verwenden, wird dazu beitragen, und es funktioniert gut für mich . Mercurial und Git sind in letzter Zeit beliebter als SVN und es gibt auch Visual HG, ein Mercurial-Plugin für Visual Studio.

Edit: Mittlerweile bin ich auf Mercurial (Tortoise HG plus Visual HG) umgestiegen und habe nie zurückgeschaut. Es dauert ein paar Stunden, sich an Mercurial zu gewöhnen, wenn Sie von Subversion kommen, aber danach ist es wirklich ein Kinderspiel. Selbst wenn Sie kein verteiltes CVS benötigen, hat Mercurial immer noch viele nette Funktionen, die in Tortoise SVN nicht verfügbar sind. Plus, es scheint ein bisschen stabiler, vor allem in Bezug auf Verzweigungen.

+0

Es gab eine erstaunliche Post auf SO, die Git vs SVN vergleicht. Ich werde bei SVN bleiben, da es genau meinen Bedürfnissen entspricht! ;) –

+0

@ Rihanna.Rain: Ich auch, aber ich nahm eine Menge Wärme für die Empfehlung SVN beim letzten Mal auf SO, ich dachte, ich sollte besser auch die Alternativen aufzeigen ... –

+1

Vielen Dank dafür - bis jetzt war mir nicht bewusst jeder Integration zwischen VS und Mercurial. Es könnte genau das sein, was ich brauche! –

2

Lassen Sie mich eine weitere Option zu der Liste der in Visual Studio 2010 integrierten SCM hinzufügen: Plastic SCM. Sie können überprüfen, wie it looks like here.

Es gibt eine Community Edition.

-2

Ich habe Subversion und Mecurial bei Projekten verwendet und beide haben mich daran erinnert, dass ich liebevoll mit dem viel gehassten (aus gutem Grund) Visual Source Safe gearbeitet habe. Beide werden "arbeiten", aber beide zeigen ihre Unix-Programmierer Wurzeln (kein Wortspiel beabsichtigt) mit kryptischen Fehlermeldungen und doof, schwarzen Magie Nerdismen. Die Quellcodeverwaltung sollte einfach und zuverlässig sein und nicht im Weg sein. Weder SNV noch Mecurial qualifizieren sich. Mecurial ist einfacher zu benutzen, wenn nichts schief geht - was ungefähr 80% der Zeit ist.

Wenn Sie ein einzelner Entwickler arbeiten, würde ich Mercurial verwenden. Hier

ist ein Beispiel dafür, warum ich hasse diese:

bis Z drücken: \ Repos \ SupplierAdminWebRepo der Suche nach Änderungen neue Remote-Köpfe auf einen Ast 'default' [Fehler: Abbruch: push neuen Remote-Kopf erzeugt 9cfbad6249a9] neue Remote-Kopf 9cfbad6249a9 [Fehler: (? vergaßen Sie zusammenführen verwenden Push -f zu zwingen)]

[fertiggestellt Betrieb. Exit code: 255]