[Tutorial] Versionskontrolle in MonoDevelop einrichten

Die Mono – Enwicklungsumgebung ermöglicht es neben reinem lokalen Projektmappensupport, auch Versionskontrollsysteme (wie Git oder SVN) zu nutzen). An dieser Stelle möchte ich erklären, wie man MonoDevelop einrichten kann, um ein solches System nutzen zu können. Exakter stelle ich hier dar, wie man GitHub nutzen kann. Wichtig: DIe Versionskontrolle hat unter MonoDevelop einen recht betaähnlichen Charakter. Es kann relativ häufig zu Problemen kommen.

Voraussetzungen

Bevor man die Versionskontrolle einrichten kann, muss man prüfen, ob diese überhaupt installiert ist. Hierfür muss man lediglich überprüfen, ob in der MonoDevelop Menüleiste der Punkt "Versionskontrolle" eingeblendet wird. Ist diese jedoch nicht vorhanden, muss diese erst installiert werden. Hierfür gibt es in den meisten Repositories das Paket "monodevelop-versioncontrol". Natürlich muss das Programm Git oder SVN (je nachdem) installiert sein. Einrichten der Versionskontrolle

Menü_004 Unter Versionskontrolle den Menüpunkt "Auschecken" wählen. Durch Auswahl des Menüpunktes öffnet sich ein Dialog, in dem wir den rechten Tab auswählen. Anschließend wählen wir "Add" bzw. "Hinzufügen" aus. In diesem Falle wähle ich "Git" als Typ aus, der Name kann frei gewählt werden. Die URL findet sich auf der Webseite des Repositories. Anschließend ist das Repository unter MonoDevelop gespeichert. Nun muss jedoch noch das System selbst für die Arbeit authentifiziert werden, da es sonst scheitern wird. Man kann prinzipiell auch den ersten Tab dazu Repository-Konfiguration_006 verwenden, um das Repository einzurichten, jedoch bietet MonoDevelop die Möglichkeit, dass man die Konfiguration eines Repositories speichern und somit nicht jedes mal neu vornehmen muss, an. Für die Konfiguration des Systems kann man am besten die Hilfeseiten von GitHub nutzen. Diese sind auch für Anfänger sehr gut geeignet und gut erklärt. Insgesamt müssen 2 Schritte durchgeführt werden. – Git einrichten (Benutzername und Email) – SSH einrichten und Schlüsselpaar erzeugen, ein Schlüssel im GitHub Profil vermerken > Prinzipiell kann man die Konfiguration auch auf andere Dienste abstrahieren, wenn man z. B. seinen Source nicht bei GitHub liegen hat. Bei SVN müssen diese Schritte natürlich auch sinngemäß durchgeführt werden, da dort die Authentifizierung ähnlich läuft.

Nötige Systemeinrichtung (Git + SSH)

  1. Git Einrichten https://help.github.com/articles/set-up-git 2. SSH einrichten https://help.github.com/articles/generating-ssh-keys Nach der Konfiguration sollte MonoDevelop einmal neu gestartet werden. Wird nun unter "Versionskontrolle" – "Auschecken" unser Repository unter Angabe des Zielpfades ausgecheckt, erhalten wird keine Fehlermeldung mehr, sondern werden nach unserem Passwort gefragt, dass zuvor bei der Einrichtung der SSH – Schlüssel angegeben wurde. Git Anmeldeinformationen_008 Sollte das Passwort korrekt sein, so wird die Projektmappe ausgecheckt und man kann damit arbeiten und sie nach getaner Arbeit wieder einchecken (sofern man natürlich Schreibrechte hat. Dateimanagement und Ignorierliste

    Beim Arbeiten mit MonoDevelop und einer Versionskontrolle sei noch erwähnt, dass Dateien, die Zwar im Ordner liegen, aber nicht zur Projektmappe hinzugefügt sind, nicht mit eingecheckt werden. Daher muss hierfür eine Art "Containerprojekt", welches die Dateien enthält eingefügt werden. Außerdem sind per Standard Dateien im Verzeichnis "Debug" und "Release" auf der Ignorierliste. Diese Liste findet sich als Datei ".gitignore" (versteckt) im lokalen Projektverzeichnis. Dort sind einfach Pfadteile angegeben, die ignoriert werden sollen. Z. B. würde ein Eintrag > *.exe

    verhindern, dass Exe – Dateien eingecheckt werden können. Haftungsausschluss: Ich übernehme keinerlei Haftung für Schäden, die durch Befolgung der Schritte dieses Beitrages auftreten können. Es können auch hier Fehler und Unstimmigkeiten auftreten, die Fehler veursachen können. Bitte in diesem Falle mir das in einem Kommentar mitteilen, damit ich den Fehler korrigieren kann. Fehler gefunden? Ich bin für einen Kommentar dankbar ;) .

Kategorien: