1464 Stimmen

Verwendung von Git mit Visual Studio

Als langjähriger Visuelles SourceSafe Benutzer (und Hasser) diskutierte ich den Wechsel zu SVN mit einem Kollegen; er schlug vor, die Git stattdessen. Denn anscheinend kann es als Peer-to-Peer ohne einen zentralen Server verwendet werden (wir sind ein 3-Entwickler-Team).

Ich habe allerdings nichts über Tools gefunden, die Git mit Visual Studio integrieren - gibt es so etwas?

Welche Technologien sind für die Verwendung von Git mit Visual Studio verfügbar? Und was muss ich über deren Unterschiede wissen, bevor ich beginne?

4 Stimmen

Ich habe gerade den Git-Source-Control-Anbieter für VS 2010 hinzugefügt, so dass es immer noch funktioniert.

3 Stimmen

Schau dir das an Anleitung vom VS-Team . Das nächste Update, Update 2 für VS 2012, wird jeden Tag erscheinen. Sie können auch die Community Technology Preview (CTP) für VS2012 herunterladen unter aquí . Wenn Sie sich für CMMI, Agile, Scrum 1/2 usw. interessieren, können Sie sich alternativ für ein kostenloses Konto anmelden (sowohl öffentliche als auch private Cloud-Instanzen) und Mitglieder (Teamkollegen, Kunden) zu Ihrem Projekt im webbasierten TFS einladen. tfs.visualstudio.com

0 Stimmen

Zu Ihrer Information: Visual Studio Update 3 unterstützt jetzt Git: blogs.msdn.com/b/visualstudioalm/archive/2014/07/02/

1072voto

Jon Rimmer Punkte 12034

Im Januar 2013 hat Microsoft angekündigt dass sie alle ihre ALM-Produkte mit vollständiger Git-Unterstützung ausstatten. Sie haben ein Plugin veröffentlicht für Visual Studio 2012, das die Integration von Git-Source-Control ermöglicht.

Alternativ dazu gibt es ein Projekt namens Git-Erweiterungen das Add-Ins für Visual Studio 2005, 2008, 2010 und 2012 sowie die Integration des Windows Explorer umfasst. Es wird regelmäßig aktualisiert und ich habe es bei einigen Projekten verwendet und finde es sehr nützlich.

Eine weitere Möglichkeit ist Git-Source-Control-Anbieter .

1 Stimmen

Fantastisch. Diese Anwendung ist brillant... ich habe geduldig die Kommandozeile benutzt und auf ein tortoiseSVN-Äquivalent gewartet, aber das hier ist besser.

9 Stimmen

Ted.dennison: Laut dieser Seite ( code.google.com/p/gitextensions ) es ist ein VS 2005/2008 Plugin.

2 Stimmen

Vertis: TortoiseGit gibt es schon seit einer Weile...

202voto

Jon Skeet Punkte 1325502

Ich verwende Git mit Visual Studio für meine Portierung von Protocol Buffers nach C#. Ich verwende die grafische Benutzeroberfläche nicht - ich habe lediglich eine Befehlszeile sowie Visual Studio geöffnet.

Im Großen und Ganzen ist das in Ordnung - das einzige Problem ist, wenn Sie eine Datei umbenennen wollen. Sowohl Git als auch Visual Studio möchten lieber, dass sie derjenige waren, der ihn umbenannt hat. Ich denke, dass die Umbenennung in Visual Studio ist der Weg zu gehen, obwohl - nur vorsichtig sein, was Sie auf der Git-Seite danach tun. Obwohl dies in der Vergangenheit ein wenig mühsam war, habe ich gehört, dass es auf der Git-Seite eigentlich ziemlich nahtlos sein sollte, weil es bemerken kann, dass der Inhalt größtenteils derselbe sein wird. (Normalerweise nicht ganz dasselbe - man neigt dazu, eine Datei umzubenennen, wenn man die Klasse umbenennt, IME.)

Aber im Grunde - ja, es funktioniert gut. Ich bin ein Git-Neuling, aber ich kriege es dazu, alles zu tun, was ich brauche. Stellen Sie sicher, dass Sie eine Git-Ignore-Datei für bin und obj und *.user haben.

35 Stimmen

Git sollte in Ordnung sein, wenn VS die Umbenennung vornimmt. Für eine gute Nachverfolgung der Umbenennung im Git-Protokoll müssen Sie nur sicherstellen, dass Sie den "remove"-Teil der Änderung im selben Commit wie den "add"-Teil einfügen. git add -A macht dies einfach, wenn Ihr .gitignore auf dem neuesten Stand ist.

40 Stimmen

Ich bin auch ein Git-Neuling, und um die Wahrheit zu sagen, ich lieber um es von der Kommandozeile aus zu verwenden. Ich hätte ein bisschen Angst, die Git-Power einer GUI zu überlassen, die versucht, "clever" zu sein und hinter meinem Rücken zu "zaubern".

1 Stimmen

Danke für den Rat. Ich bin gerade zu Git (und Github) gewechselt und werde nie wieder zurückblicken. Mein Kunde verwendet Perforce (igitt!). Mein Plan ist es also, einen Checkout von Perforce zu machen, meine Arbeit mit Git zu erledigen und sie dann wieder einzuchecken.

93voto

yysun Punkte 1026

Git-Source-Control-Anbieter ist ein neues Plug-in, das Git in Visual Studio integriert.

0 Stimmen

Gibt es eine Möglichkeit, es 2005 zum Laufen zu bringen?

3 Stimmen

Nun. Ehrlich gesagt ist die grafische Oberfläche genau das, was ich gesucht habe, als ich nach einer GUI für Git in VS 2010 gesucht habe. Danke, dass Sie das hier gepostet haben. Die anderen Antworten sind nicht das, was ich brauche. Sie sind schlecht im Vergleich zu VisualSVN.

1 Stimmen

Ich empfehle einen Blick in den Abschnitt "Rezensionen" in marketplace.visualstudio.com/ bevor Sie sich entscheiden, es zu installieren.

52voto

T.E.D. Punkte 42630

Ich habe mich bei der Arbeit ein wenig damit befasst (sowohl mit Subversion als auch mit Git). Visual Studio verfügt über eine API zur Integration von Versionskontrollsystemen, die es ermöglicht, Versionskontrolllösungen von Drittanbietern in Visual Studio zu integrieren. Allerdings machen sich die meisten Leute aus mehreren Gründen nicht die Mühe, dies zu tun.

Erstens geht die API davon aus, dass Sie einen Arbeitsablauf mit gesperrtem Checkout verwenden. Es gibt eine Menge Haken darin, die entweder sehr teuer zu implementieren sind oder einfach keinen Sinn machen, wenn Sie den moderneren Edit-Merge-Workflow verwenden.

Der zweite (damit zusammenhängende) Punkt ist, dass Sie bei der Verwendung des Edit-Merge-Workflows, den sowohl Subversion als auch Git fördern, nicht wirklich brauchen Integration von Visual Studio. Der Clou an der Integration von SourceSafe in Visual Studio ist, dass Sie (und der Editor) auf einen Blick erkennen können, welche Dateien Ihnen gehören, welche ausgecheckt werden müssen, bevor Sie sie bearbeiten können, und welche Sie nicht auschecken können, selbst wenn Sie es wollen. Dann kann es Ihnen dabei helfen, das Revisionskontroll-Voodoo zu machen, das Sie tun müssen, wenn Sie eine Datei bearbeiten wollen. Nichts davon ist Teil eines typischen Git-Workflows.

Wenn Sie Git (oder typischerweise SVN) verwenden, finden alle Interaktionen zur Revisionskontrolle entweder vor oder nach der Entwicklungssitzung statt (sobald alles funktioniert und getestet wurde). An diesem Punkt ist es wirklich kein Problem, ein anderes Tool zu verwenden. Sie müssen nicht ständig hin- und herwechseln.

0 Stimmen

Ganz genau. Mein Unternehmen verwendet SourceGear Vault, das über eine VS-Integration verfügt. Da es aber auch den Arbeitsablauf "Bearbeiten - Zusammenführen - Übertragen" unterstützt, verwende ich die VS-Integration eigentlich nie (niemals). Ich glaube sogar, dass ich diesen Teil deinstalliert habe.

22 Stimmen

Verschiebt ihr nie Dateien/Verzeichnisse oder benennt sie um? Ich habe vor ein paar Monaten angefangen, VisualSVN zu benutzen, und ich konnte nicht mehr zurück.

10 Stimmen

@TED Für mich bedeutet das, dass man sich nach einer langen Entwicklung die Gründe für jede Datei-Änderung merken muss, bis man eincheckt. Wenn ich an etwas arbeite und etwas sehe, das in einem nicht verwandten Bereich behoben werden muss, checke ich gerne aus, behebe es und checke ein, weil ich weiß, dass ich die Änderung aus meinem Gedächtnis löschen kann. Ich würde dies lieber von VS aus tun.

38voto

CB Bailey Punkte 693084

Ich finde, dass Git, da es mit ganzen Bäumen arbeitet, weniger von der IDE-Integration profitiert als Versionskontrollwerkzeuge, die entweder dateibasiert sind oder einem Checkout-Edit-Commit-Muster folgen. Natürlich gibt es Fälle, in denen es schön ist, auf eine Schaltfläche zu klicken, um die Historie zu überprüfen, aber ich vermisse das nicht sehr.

Das eigentliche Muss ist, dass Sie Ihre .gitignore-Datei mit den Dingen füllen, die nicht in einem gemeinsamen Repository sein sollten. Meine enthält in der Regel (neben anderen Dingen) das Folgende:

*.vcproj.*.user
*.ncb
*.aps
*.suo

aber das ist stark auf C++ ausgerichtet und nutzt kaum oder gar nicht die Funktionalität eines Klassenassistenten.

Mein Nutzungsverhalten sieht in etwa wie folgt aus.

  1. Code, Code, Code in Visual Studio.

  2. Wenn Sie zufrieden sind (sinnvoller Zwischenpunkt für die Übergabe des Codes), wechseln Sie zu Git, führen die Änderungen durch und überprüfen die Diffs. Wenn etwas offensichtlich falsch ist, wechseln Sie zurück zu Visual Studio und beheben Sie es, ansonsten übertragen Sie es.

Jedes Zusammenführen, Verzweigen, Umbasieren oder andere ausgefallene SCM-Maßnahmen lassen sich in Git einfach von der Eingabeaufforderung aus durchführen. Visual Studio ist in der Regel ziemlich glücklich mit Dingen, die sich darunter ändern, obwohl es manchmal einige Projekte neu laden muss, wenn Sie die Projektdateien erheblich geändert haben.

Ich finde, dass die Nützlichkeit von Git die geringfügigen Unannehmlichkeiten einer fehlenden vollständigen IDE-Integration überwiegt, aber das ist bis zu einem gewissen Grad Geschmackssache.

0 Stimmen

Wie wäre es, wenn Sie Git anweisen würden, auch die Verzeichnisse bin/ und obj/ innerhalb eines Projekts zu ignorieren? Es sei denn, Sie wollen, dass Git Ihren Build-Crash verfolgt... :p

0 Stimmen

Ich bin nur neugierig, aber warum sollten Sie wollen, dass Ihre Projektdatei ignoriert wird?

11 Stimmen

Wenn Sie das nicht tun, sollten Sie Ihre Projektdatei auf jeden Fall unter Versionskontrolle stellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X