Bitbucket – Ein Schnelleinstieg mit Mercurial unter Linux

25 05 2013

Versucht man sich an etwas größeren Programmier-Projekten, bietet es sich irgendwann an, dieses mit einer Versionsverwaltung auszustatten. Denn überschreibt man sich beispielsweise einmal  seine Dateien mit einer alten Version oder findet man partout einen Fehler nicht, kann es äußerst sinnvoll sein, die Änderungen der letzten Tage nachvollziehen zu können. Freie Software findet man unter anderem mit Git oder Mercurial, aber wohin dann mit den Dateien? Man könnte diese auf eigenem Webspace einrichten, schneller und mit weiteren Funktionen geht das mit dem Service von Bitbucket. Hier kann man sich kostenlos eigene Repositories einrichten, auf die bis zu fünf Entwickler gleichzeitig zugreifen dürfen. Wollen mehr Entwickler an dem Projekt arbeiten, lässt sich diese Anzahl gegen Gebühr in verschiedenen Abstufungen erhöhen.

Wir möchten uns doch zunächst nur ein kleines Repository für uns selbst einrichten. Dazu legen wir zuallererst einen Bitbucket Account an. Die Webseite steht in deutscher Sprache zur Verfügung, diese können wir in unserem Benutzerkonto einstellen. Hier bietet es sich auch gleich an, einen SSH Schlüssel zur Kommunikation mit der Seite ohne Passwort zu hinterlegen. Haben wir das noch nicht getan, erzeugen wir via ssh-keygen ein Schlüsselpaar, dessen Public-Key Inhalt wir in Bitbucket unter der Option „SSH Schlüssel“ -> „Schlüssel hinzufügen“ einfügen.

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/aaaaa/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/aaaaa/.ssh/id_rsa.
Your public key has been saved in /home/aaaaa/.ssh/id_rsa.pub.

$ ls -l ~/.ssh
insgesamt 36
-rw------- 1 aaaaa aaaaa 1679 Mai 14 22:55 id_rsa
-rw-r--r-- 1 aaaaa aaaaa  398 Mai 14 22:55 id_rsa.pub

$ cat ~/.ssh/id_rsa.pub

Jetzt erzeugen wir unser Repository, in dem wir unseren Code halten möchten. Hierzu navigieren wir über „Repositorys“ -> „Repository erstellen“ und geben einen Projekt-Namen an. Legen wir fest, dass es sich um ein privates Repository handelt, kann niemand außer den definierten Entwicklern den Code einsehen, ansonsten ist dieser öffentlich verfügbar. Als Repository-Typ nutze ich Mercury, aber das muss jeder nach den eigenen Vorlieben entscheiden. Git bietet mehr Optionen, Mercury lässt sich dafür einfacher handhaben. Hinter „Ticket-Verfolgung“ versteckt sich ein Bugtracker, der auch bei privaten Code-Projekten für die Öffentlichkeit frei geschaltet werden. Selbiges gilt für das Wiki, in dem man eine Dokumentation erstellen kann. Haben wir die Programmiersprache gewählt, können wir das „Repository erstellen“.

bitbucket05

Natürlich benötigen wir noch die entsprechende Software zur Versionskontrolle. Mercurial installieren wir uns in Ubuntu über die Paketverwaltung.

$ sudo apt-get install mercurial

Damit könnten wir auf Befehlszeile direkt loslegen. Wünschen wir uns eine komfortable GUI, können wir zusätzlich auch noch EasyMercurial installieren, das zwar kaum Optionen mitbringt, dafür aber absolut simpel zu bedienen ist. Mehr Funktionen bietet TortoiseHg, Eine Einführung zu diesem Programm findet man bei Draketo, weshalb ich mir das hier spare. Auch für Eclipse finden sich mit EGit und MercurialEclipse zwei gute Plugins, welche bei heise kurz vorgestellt werden.

Beim ersten Start von EasyMercurial kümmern wir uns zunächst um die Einstellungen im Menü „File“ -> „Settings“. Im Tab „User details“ geben wir unseren Namen und die E-Mail Adresse ein. Unter „Remote“ -> „Set Push and Pull Location…“ tragen wir das gerade erstellte Bitbucket Repository ein. Die genaue Bezeichnung finden wir, wenn wir den Link „Ich habe ein bestehendes Projekt zum hoch pushen“ aufrufen.

bitbucket01 bitbucket07  bitbucket08

Mit einem Klick auf „Open“ laden wir nun unser Projekt-Verzeichnis als lokales Repository.

bitbucket02 bitbucket03

Im sich öffnenden erscheinenden Fenster wählen wir alle Dateien, die für unser Projekt notwendig sind. Diese selektieren wir und klicken auf den „Add“ Button, Cache oder sonstige temporäre Dateien bleiben außen vor.

bitbucket04  bitbucket06

Um diese Dateien zu übernehmen, bedarf es noch eines Commits. Hier tragen wir normalerweise einen Kommentar ein, was sich seit dem letzten Stand geändert hat. In unserem Fall ist dies die erste Version, weshalb wir dies auch so angeben. Ist das getan, senden wir die Dateien per „Push“ an das Remote Repository auf unserem Bitbucket Account. Je nach Anzahl und Größe der Dateien kann das einen Moment dauern. Dass sich etwas tut erkennen wir an dem psychedelischen Balken, der sich am unteren Bildrand hektisch hin- und herbewegt.

bitbucket09 bitbucket10 bitbucket11

Sind die Dateien auf dem Bitbucket Server angekommen, können wir diese nun in unserem Account unter dem Punkt „Quellcode“ sehen.

bitbucket12

Ändern wir unsere Dateien auf der heimischen Platte, erkennt das EasyMercurial automatisch und zeigt uns die modifizierten Dateien an. Möchten wir diese synchronisieren, gehen wir wie zuvor mit einem Commit und anschließendem Push vor. Aussagekräftige Beschreibungen beim Commit helfen uns später dabei, zu erkennen welche Modifikationen wir vorgenommen haben. In der History sehen wir die verschiedenen Commit-Punkte grafisch dargestellt.

bitbucket13

Advertisements

Aktionen

Information

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s




%d Bloggern gefällt das: