wildlife

Installation von git flow bei Nutzung von Git Extensions

von Torsten Feld // December 26th, 2012 // GIT, IT, Tutorials //

Ich verwende mittlerweile bei nahezu all meinen (kleinen) Projekten, sofern man sie so nennen kann, GIT. Um jedoch auch vernünftig branchen zu können und mir das Leben einfacher zu gestalten, nutze ich git flow, welches über wenige Befehle Feature-Branches, Hotfixes, Releases etc. anlegt und diese auch noch automatisch mit Tags versieht. Für das Commiten und die Übersicht, nutze ich unter Windows Git Extensions. Da git flow jedoch weder mit GIT noch Git Extensions mitgeliefert wird (hoffentlich ändert sich das bald), hier eine kleine Anleitung, wie git flow installiert werden kann:

gitextension-gitsettings

Zu Beginn sollte man Git Extensions installieren, sofern das von den Windows User noch nicht durchgeführt wurde. Da wir msysgit später sowieso nochmal installieren müssen, empfehle ich, diese Komponente an dieser Stelle abzuwählen. msysgit selbst ist hier herunterzuladen. Aus eigener Erfahrung rate ich davon ab, das vorgeschlagene Installationsverzeichnis (c:\msysgit) zu wechseln, da beim Kompilieren des Programms ansonsten Fehler auftreten können (insbesondere, wenn Leerzeichen im Pfad vorhanden sind). Nun kann man in den Einstellungen von Git Extensions den Pfad zu Git ändern, um auf das soeben angelegte Installationsverzeichnis zu verweisen.

Um git flow zu installieren, wechselt man in das entsprechende Verzeichnis (sinnvollerweise ein Verzeichnis in oder unterhalb von msysgit) und cloned dort einfach das entsprechende Repository von nvie mit dem Befehl

git clone --recursive git://github.com/nvie/gitflow.git

Nun öffnen man die Eingabeaufforderung (nicht die GIT bash), wechselt in das Verzeichnis des lokalen Repositories (bei mir "C:\msysgit\msysgit\git\gitflow") und ruft dann das Installationsscript mit dem mysysgit Verzeichnis als Parameter auf:

contrib\msysgit-install.cmd C:\msysgit\msysgit\

Anschließend könnt Ihr Eure eigenen Repositories über die GIT bash mit "git flow init" initialisieren. Falls Ihr hierzu Fragen habt, einfach in den Kommentaren melden. ;)


Leave a Reply