verbinden Verwenden von Git mit Visual Studio




visual studio mit github verbinden (13)

Wie von Jon Rimmer beschrieben, können Sie GitExtensions verwenden. GitExtensions funktioniert in Visual Studio 2005 und Visual Studio 2008, es funktioniert auch in Visual Studio 2010, wenn Sie die .Addin-Datei manuell kopieren und konfigurieren.

Als langjähriger Benutzer von Visual SourceSafe (und Hater) diskutierte ich mit einem Kollegen den Wechsel zu SVN ; Er schlug stattdessen vor, Git benutzen. Da es offensichtlich ohne einen zentralen Server als Peer-to-Peer genutzt werden kann (wir haben nur ein 3-Entwickler-Team).

Ich konnte jedoch nichts über Werkzeuge finden, die Git mit Visual Studio integrieren - gibt es so etwas?

Welche Technologien stehen für die Verwendung von Git mit Visual Studio zur Verfügung? Und was muss ich darüber wissen, wie sie sich unterscheiden, bevor ich anfange?


Ich finde, dass Git, das an ganzen Bäumen arbeitet, weniger von der IDE-Integration profitiert als Quellcode-Kontrollwerkzeuge, die entweder dateibasiert sind oder einem Checkout-Edit-Commit-Muster folgen. Natürlich gibt es Fälle, in denen es schön ist, auf einen Knopf zu klicken, um eine Geschichtsprüfung zu machen, aber ich vermisse das nicht sehr.

Das eigentliche Muss ist, Ihre .gitignore-Datei mit den Dingen zu füllen, die nicht in einem gemeinsamen Repository sein sollten. Meins enthalten im Allgemeinen (neben anderen Sachen) folgendes:

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

aber das ist stark C ++ voreingestellt mit wenig oder gar keiner Klassenassistenten-Stil-Funktionalität.

Mein Nutzungsmuster ist etwas wie das Folgende.

  1. Code, Code, Code in Visual Studio.

  2. Wenn Sie glücklich sind (sinnvoller Zwischenpunkt, um Code zu committen, wechseln Sie zu Git, stage changes und überprüfen Sie die Unterschiede. Wenn irgendetwas offensichtlich falsch ist, wechseln Sie zurück zu Visual Studio und beheben Sie das Problem, andernfalls übernehmen Sie es.

Jede Zusammenführung, Verzweigung, Rebase oder andere ausgefallene SCM-Sachen können in Git über die Eingabeaufforderung einfach ausgeführt werden. Visual Studio ist normalerweise ziemlich glücklich damit, wenn sich Dinge ändern, obwohl es manchmal nötig sein kann, einige Projekte neu zu laden, wenn Sie die Projektdateien signifikant geändert haben.

Ich finde, dass die Nützlichkeit von Git die geringste Unannehmlichkeit überwiegt, wenn man nicht die volle IDE-Integration hat, aber es ist in gewissem Maße eine Frage des Geschmacks.



Ich habe das bei der Arbeit ein wenig untersucht (sowohl mit Subversion als auch mit Git). Visual Studio verfügt über eine API zur Integration von Quellcodeverwaltung, mit der Sie Quellcodeverwaltungslösungen von Drittanbietern in Visual Studio integrieren können. Die meisten Leute kümmern sich jedoch aus mehreren Gründen nicht darum.

Die erste besteht darin, dass die API ziemlich genau davon ausgeht, dass Sie einen gesperrten Checkout-Workflow verwenden. Es gibt viele Haken darin, die entweder sehr teuer in der Implementierung sind, oder einfach nur, wenn Sie den moderneren Editier-Merge-Workflow verwenden.

Die zweite (was damit zusammenhängt) ist, dass Sie, wenn Sie den Edit-Merge-Workflow verwenden, den sowohl Subversion als auch Git unterstützen, keine Integration von Visual Studio benötigen . Die Hauptsache an der Integration von SourceSafe mit Visual Studio ist, dass Sie (und der Editor) auf einen Blick erkennen können, welche Dateien Sie besitzen, die Sie auschecken müssen, bevor Sie sie bearbeiten können und die Sie nicht auschecken können, selbst wenn Sie möchten. Dann kann es Ihnen helfen, den voodoo-Revisions-Steuerbefehl zu machen, den Sie machen müssen, wenn Sie eine Datei bearbeiten wollen. Nichts davon gehört zu einem typischen Git-Workflow.

Wenn Sie Git (oder SVN) verwenden, finden Ihre Interaktionen zwischen Revision und Kontrolle entweder vor oder nach der Entwicklung statt (sobald alles funktioniert und getestet wurde). An diesem Punkt ist es wirklich keine große Mühe, ein anderes Werkzeug zu verwenden. Sie müssen nicht ständig hin- und herwechseln.




Derzeit gibt es 2 Optionen für Git Source Control in Visual Studio (2010 und 12):

  1. Git-Quellensteuerungsanbieter
  2. Microsoft Git-Anbieter

Ich habe beide ausprobiert und festgestellt, dass der erste reifer ist und mehr Funktionen hat. Zum Beispiel spielt es gut mit Schildkröte Git und Git Erweiterungen, und sogar ihre Funktionen ausgesetzt.

Hinweis : Welche Erweiterung Sie auch verwenden, stellen Sie sicher, dass Sie sie unter Tools -> Options -> Source control -> Plugin Selection aktivieren, damit sie funktioniert.


TortoiseGit ist gereift und ich empfehle es besonders, wenn Sie TortoiseSVN verwendet haben.



Im Januar 2013 gab Microsoft announced dass sie alle ihre ALM-Produkte mit voller Git-Unterstützung ausstatten. Sie haben ein Plug-in für Visual Studio 2012 veröffentlicht, das die Git-Quellcodeverwaltung integriert.

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

Eine weitere Option ist Git Source Control Provider .


Microsoft hat kürzlich Git für Visual Studio 2012 (Update 2) angekündigt. Ich habe noch nicht damit herumgespielt, aber dieses Video sieht vielversprechend aus.

Hier finden Sie eine kurze Anleitung zur Verwendung von Git aus Visual Studio 2012.


Ich verwende Git mit Visual Studio für meinen Port Protokollpuffer zu C #. Ich benutze nicht die GUI - ich öffne nur eine Befehlszeile sowie Visual Studio.

In den meisten Fällen ist es in Ordnung - das einzige Problem ist, wenn Sie eine Datei umbenennen möchten. Sowohl Git als auch Visual Studio hätten lieber, dass sie es umbenannten. Ich denke, dass das Umbenennen in Visual Studio der richtige Weg ist - seien Sie vorsichtig, was Sie danach auf der Git-Seite tun. Obwohl das in der Vergangenheit ein wenig schmerzhaft war, habe ich gehört, dass es eigentlich auf der Git-Seite ziemlich nahtlos sein sollte, weil es bemerken kann, dass der Inhalt größtenteils derselbe sein wird. (Normalerweise nicht ganz dasselbe. Sie neigen dazu, beim Umbenennen der IME-Klasse eine Datei umzubenennen.)

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








git