01 Nov
2009

Git in Visual Studio 2010 und 2008/05 ohne AddIn verwenden

 

Verteilte Versionskontrolle ist der “neueste” Schrei, am lautesten wird derzeit wohl bei Git geschrieben.

Ein Problem was wohl viele davon abhält Git zu verwenden ist die fehlende Integration in Visual Studio. Mich am Anfang auch, ich konnte es mir halt nicht vorstellen das sowas wie das umbennen von Datein oder das hinzufügen von neuen Dateien einfach so funktioniert ohne dass man ständig drüber nachdenken muss.

Bei Subversion z.B. muss man alle Änderungen an Dateinamen oder neue Dateien mit Subversion selbst machen. Macht man dies nicht kommt man in Teufels Küche. Damit man auch da nicht immer drüber nachdenken gibt es für Subversion AddIns für Visual Studio die einem die Arbeit im Hintergrund einfach abnehmen so dass man unbeschwert damit arbeiten kann.

Bei Git ist dies nicht so nötig. Mit einer ordentlichen .gitignore Datei findet Git zuverlässig hinzugefügten und gelöschten Dateien, und schafft es auch Unbenennungen selbständig aufzulösen. Warum nicht gleich so. Deshalb lieben es die Git Puristen auf der Shell zu arbeiten und alles über die Kommandozeile zu machen. Dazu gehöre ich nicht und wollte auch lange eine Visual Studio integration.

Seit ein paar Tagen beschäftige ich mich intensiver mit Git und stelle fest; man braucht keine Integration wie man sie von VisualSVN oder AnkhSVN gewohnt ist. Aber Kommandozeile war mir doch zu nervig auf dauer.

Jedoch kann man Visual Studio mit ein paar Handgriffen so anpassen dass man Git mit ein paar Mausklicks und Tastatur bedienen kann sowie auf die Git GUI zugreifen kann.

image Die Magie liegt in der Verwendung von Git als External Tool in Visual Studio. Darin kann man sich die gewünschten Git Kommandos eintragen und in Toolbars sowie mit Tastatur verwenden.

Die Ausgaben der einzelnen Befehle können dann im Output-Window angezeigt werden.

image

Exemplarisch zeige ich die Schritte mit Visual Studio 2010, dies funktioniert jedoch auch mit Visual Studio 2008 und den Vorversionen.

Über das Menü Tools->External Tools gelangt man in die Konfiguration der External Tools.

image

Dies sind die aktuell bei mir eingestellten Befehle, keine Ahnung ob die representativ sind. Sie spiegeln dass wieder was ich gerade brauche und werden sich wohl in Zukunft ändern. Screenshots von den Parametern der einzelnen Befehle folgen weiter unten.

Wenn man sich die externen Tools so eingestellt hat wie man sie braucht muss man sich nur noch eine neue Toolbar erstellen und die Tools einbinden. Dazu einfach über das Menü Tools->Customize in die Toolbar-Anpassung wechseln.

image

Einfach eine neue Toolbar erstellen und benennt sie nach Wahl, Git bietet sich an.

image Danach findet sich in Visual Studio eine leere Toolbar. Nun muss man diese nur noch mit Leben füllen, dazu wechselt man auf den Commands-Tab auf dem Customize-Dialog und wählt die erstellte Toolbar aus. Der kurze Wege dahin ist über den kleine Menü-Dropdown am Ende der Toolbar. Dort einfach Customize auswählen und schon ist man an der richtigen Stelle im Dialog.

image

Über Add Command… wählt man nun ein Kommando nach dem anderen aus und fügt es der Toolbar hinzu.

image

Leider wird nicht der eingetragene Befehle angezeigt, sondern nur External Command 1-24. Wobei bei mir Visual Studio 2010 Beta 2 die Kommandos 4 und 5 in der Liste unterschlägt, Visual Studio 2008 macht dies nicht.

image

Das Git am Anfang fügte ich über Add New Menü hinzu, diese ist als Toolbar Git | Git auch verfügbar und könnte mit den selten genutzteren Befehlen bestückt werden.

Bei den einzelnen Einträgen wird als Vorsteinstellung der eingetragene Titel des Kommandos verwendet, diesen kann man über Modify Selection anpassen.

Über die Git Gui kann auf einfache Weise die funktionalitäten wie Branchen, Mergen oder Commits mit ausführlichen Kommentar ausführen. Geht natürlich auch alles über die Kommandozeile, aber nett ist es schon.

image

Das war es auch schon was man zum arbeiten mit Git in Visual Studio braucht, der Vorteil ist das man nicht auf irgendwelche AddIns für neuen Visual Studio Versionen warten muss.

Hier nun die Einstellungen für die Externals Tools für Git bei mir.

Alle neuen Dateien zum Git Repository hinzufügen

image

Vorschau der Dateien die zum Git Repository hinzugefügt werden

image

Status über die anstehenden Änderungen

image

Zum lokalen Git Repository hinzufügen und alle neuen Dateien hinzufügen

image

Die Git Gui

image

Update der Änderungen aus dem zentralem Subversion Repository

Wenn man Git als lokales Repository verwendet besteht die Möglichkeit gegen ein zentrales Subversion Repository zu arbeiten. So ist ein Umstieg sehr einfach und man lokal die Vorteile von Git nutzen.

image

Commit ins zentrale Subversion Repository

Macht für alle Änderungen die zwischenzeitlich ins lokale Git Repository committed worden sind entsprechende Commits nach Subversion ins Zentrale Repository.

image

Für Verbesserungsvorschläge und Hinweise schreibt einfach was in die Kommentare, ich stehe ja noch am Anfang meiner Erfahrungen mit Git.


Der Eintrag ist mir etwas Wert
 

Feedback

# Git in Visual Studio 2010 und 2008/05 ohne AddIn verwenden

left by dotnet-kicks.de at 11/1/2009 1:18 PM Gravatar
Sie wurden gekickt (eine gute Sache) - Trackback von dotnet-kicks.de

# re: Git in Visual Studio 2010 und 2008/05 ohne AddIn verwenden

left by Rainer Schuster at 11/2/2009 9:24 AM Gravatar
Hi Alber,

für die VS-Integration gibt es noch die GITExtensions, die allerdings auch nicht alles bieten, was ich mir so vorstelle. Für einfach Zwecke und die meisten jedoch trotzdem sehr zu empfehlen: http://code.google.com/p/gitextensions/

Ich bleibe weiterhin bei der Kommandozeile (kann ich unter MacOS und Linux dann genauso verwenden).

# re: Git in Visual Studio 2010 und 2008/05 ohne AddIn verwenden

left by Steve Wagner at 11/19/2009 10:29 AM Gravatar
Ich hab mal beschrieben wie man das Commit Window von TortoiseGit/SVN direkt von VS aus startet.

www.lanwin.de/.../commit-with-tortoisegit-torto...
Comments have been closed on this topic.