SQL Server & ASP .NET Blog

Interessantes und Wissenswertes

Git–neue Remote Branches erscheinen nicht in Visual Studio

Szenario: Ein Kollege hat einen neuen Branch angelegt und publiziert
Problem: Der Branch erscheint nicht in Visual Studio

Lösung:

Schritt 1 – Drittanbietertools installieren

http://msdn.microsoft.com/de-de/library/dd286572.aspx#setup_open

Schritt 2 – Konsole öffnen

16_konsole

Schritt 3 – Fetch und checkout

In der Konsole das aktuelle Repository holen “git fetch” und danach den neuen Branch auschecken mit dem Befehl “git checkout –b <branchname> origin/<branchname>” .

Daraufhin erscheint dieser auch im Visual Studio.

Von SVN zu Git mit Visual Studio 2013–Teil 2

Im ersten Teil habe ich beschrieben, wie man seinen Code aus Subversion zu Bitbucket transferiert. Doch wie kommen nun andere Team-Mitglieder an diesen Code?

Schritt 1  - Visual Studio öffnen und Git wählen

Visual Studio öffnen und über Tools => Options => Source Control => Microsoft Git auswählen

05_SourcecontrolProvider

Schritt 2 – Team Explorer öffnen

Über View => Team Explorer den Team Explorer öffnen und dann “Connect to team project”.

13_Connect

Schritt 3 – Das Repository clonen und das Projekt öffnen

Im Team-Explorer Fenster auf Clone klicken und dort die URL des Repository angeben (bei Bitbucket findet sich diese auf der Overview-Seite des Repository). Dann auf Clone klicken und das Repository wird komplett geladen.

14_Clone

Danach kann das Repository in der Liste ausgewählt werden (Doppelklick) und eine Liste der darin enthaltenen Solution-Dateien wird angezeigt – die sich dann auch praktischerweise von dort direkt öffnen lassen.

15_solution

Es kann sein, dass beim ersten Laden der Solution nicht alle Dateien so “aussehen” als wären sie unter Source Control. Bei mir wurden die entsprechenden Icons erst angezeigt, als ich die Solution nochmal geöffnet habe.

Nun kann weiter gearbeitet werden, d.h. lokal commited, ge-branched, ge-merged etc. werden und wenn die Arbeit wieder mit dem Server-Repository geteilt werden soll, dann geht dies über die Seite unsynced commits und den Sync-Button.

12_multicommit

Von SVN zu Git mit Visual Studio 2013

Bisher habe ich für die Quellcodeverwaltung den VisualSVN Server und TortoiseSVN + AnkhSVN auf dem Client verwendet.

In Visual Studio 2013 kann nun auch Git als Quellcodeverwaltung verwendet werden. Für Details zu Git empfehle ich folgenden Link: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#git

Hier folgt jetzt ein Step-by-step Tutorial, wie man eine SVN kontrollierte Visual Studio Solution nach Git, genauer gesetzt bitbucket (https://bitbucket.org) umzieht. Bitbucket darum, da es dort kostenlos möglich ist private Repositories anzulegen (bis zu 5 User) – während man bei GitHub für den kleinsten Account mit privaten Repositories 7$ zahlen muss.

Schritt 1 – den Code aus SVN holen

Zuerst holen wir unseren Code aus dem Subversion Repository per “Export” – so, dass wir die SVN-Bindungen loswerden.

01_Export_thumb1

Dann einmal das Projekt bzw. die Solution öffnen und über File => Subversion => Change Source Control alle Bindungen löschen.

Da (in meinem Fall) trotzdem die Information in der *.sln-Datei übrig geblieben ist, lösche ich diese manuell aus der Datei.

02_Delete_thumb1

 

Schritt 2 – bei Bitbucket anmelden und ein Repository erstellen

Die Anmeldung bei Bitbucket und das Erstellen eines Repository sind selbsterklärend. Sobald das Repository erstellt ist kann man seinen vorhandenen Code hochladen. Dazu wird nur die URL aus dem zweiten Screenshot benötigt – wie genau folgt gleich.

03_Bitbucket1_thumb1

 

04_bitbucket2_thumb1

Schritt 3 – den Code in das Repository übertragen

Zuerst muss Git als Source Control Provider eingestellt werden. Also Tools => Options => Source Control und Microsoft Git Provider auswählen.

05_SourcecontrolProvider_thumb2

Dann ein Rechtsklick auf die Solution und “Add solution to source control”. Im folgenden Fenster Git auswählen.

07_gitaus_thumb1

Damit wird ein lokales Repository erzeugt, dass alle Dateien der Solution enthält, bis auf die in der standardmäßig dazu angelegten gitignore Datei enthaltenen Endungen.

Per Rechtsklick => Commit öffnet sich der Team Explorer und zeigt die Änderungen an, die commited werden sollen. Eine commit message wird dabei immer benötigt.

08_Commit_thumb1

Damit ist das lokale Repository gefüllt und für die Quellcodeverwaltung bereit. Es ist nun möglich lokal Änderungen durchzuführen, commits zu machen, branches zu erstellen, zu mergen etc. etc.

Um das Repository nun auch für andere Team-Mitglieder zur Verfügung zu haben müssen wir es mit einem Server synchronisieren.

09_synch_thumb1

Dazu im Fenster “unsynched commits” die Repository-URL des Bitbucket Repository angeben und auf Publish klicken.

10_synch2_thumb

Damit ist der Code nun auf Bitbucket vorhanden und kann von anderen Team-Mitgliedern verwendet werden.

11_commited_thumb1

Schritt 4 – Push und Pull

Nun kann ganz normal weiter gearbeitet werden. D.h. man macht seine commits lokal und sobald die Änderungen mit dem Serverrepository geteilt werden sollen können diese über Sync mit dem Server geteilt werden. Dabei muss nicht zwingend jeder einzelne commit sofort synchronisiert werden.

12_multicommit_thumb

Im zweiten Teil folgt die andere Seite – d.h. wie bekomme ich als Team-Mitglied den Code aus Bitbucket iun mein VisualStudio.