Unter Kontrolle

Klone

Sie können die Datei aber auch direkt löschen und es Git überlassen das Löschen automatisch zu erkennen. In diesem Fall kommt wieder der git add Befehl zum Einsatz. Dieses Mal allerdings mit angehängtem Parameter -a, der dafür sorgt, dass gelöschte Dateien auch im Repository gelöscht werden.Wie bei anderen VCS sorgt auch bei Git der Befehl commit dafür, dass eine Version für eine Änderung angelegt wird.

$> git commit -m 'Beseitigung Fehler #156'

Klone

Wie schon erwähnt, muss es bei Git kein zentrales Repository geben. Natürlich können Sie trotzdem mit mehreren Personen an einem Projekt arbeiten. Jeder kann sich eine lokale Kopie, eines Repositories erstellen. Diese Kopie wird Klon genannt, da sie alle Informationen des Quellrepositories enthält. Zur Erstellung eines Klons wird dem Kommandozeilen-Tool die URL des zu klonenden Repositories mitgegeben:

$> git clone http://mein-server.de/
projektname.git

image.jpg

© Internet Magazin

Unter Windows kommt oft die grafische Benutzeroberfläche TortoiseGit zum Einsatz, die sich in den Windows-Explorer integriert.

Anschließend können Sie in diesem Klon- Repository arbeiten. Damit Änderungen wieder den Weg zurück in das ursprüngliche Repository finden, gibt es den Befehl push. Dieser überträgt Änderungen zurück zum Ursprungsort. Innerhalb dieser Push- Operationen werden alle Branches und Änderungen des lokalen Klons übertragen, die mittels commit in die Versionshistorie eingefügt wurden.Natürlich können Sie mit einem zentralen Repository arbeiten, das auf einem Server liegt. Dies hat den Vorteil, dass Sie von diesem Repository einfacher Backups machen oder daran Tools für Unit- Tests, Continuous Integration oder Projektmanagement anbinden können. Entwickler klonen sich dazu das zentrale Repository und "pushen" ihre Änderungen zurück.

Branching und Merging

Eine der großen Stärken von Git ist es, mit verschiedenen Entwicklungszweigen einer Software jonglieren zu können. Diese sogenannten Branches erlauben es, parallel an verschiedenen Versionen einer Software zu arbeiten. Angenommen, Sie haben gerade eine Version 1.0 Ihrer Software entwickelt und wollen an die Arbeiten an der Version 1.1 starten. In diesem Fall würden Sie einen neuen Entwicklungszweig für die Version 1.1 starten. In diesem können Sie Ihre Arbeit fortsetzen. Sollte in der Version 1.0 ein Fehler auftreten und eine Version 1.0.1 notwendig machen, können Sie im Entwicklungszweig der Version 1.0 auch weiterarbeiten.Die Erstellung und das Hin- und Herschalten zwischen einzelnen Branches geht bei Git in Sekundenschnelle, was auch daran liegt, dass das gesamte Repository lokal verfügbar ist. Da die Erstellung eines Entwicklungszweiges so einfach und schnell geht, wird im Allgemeinen empfohlen, auch bei kleineren Änderungen, wie der Arbeit an einem neuen Feature, einen neuen Branch anzulegen.

$> git branch feature_156

Nach dem Branchen befinden sich Ihre Arbeitskopien automatisch im neuen Entwicklungszweig. Änderungen werden somit diesem zugeordnet. Während der Entwicklung können Sie innerhalb des gleichen Verzeichnisses einfach zwischen zwei Entwicklungszweigen hin- und herwechseln. Dies geschieht mit dem Checkout-Befehl. Das folgende Listing zeigt den Wechsel zwischen zwei Branches:

$> git checkout master
$> git checkout feature_156

Neben der Erstellung und dem Arbeiten mit Entwicklungszweigen ist das Zusammenführen zweier Zweige besonders wichtig. Selbstverständlich gibt es auch hierfür einen entsprechenden Kommandozeilenbefehl. Diesem wird entweder ein Entwicklungszweig oder eine Revision mitgegeben, die mit der aktuellen Version zusammengeführt werden soll.

$> git merge feature_156

In der Regel geht das Zusammenführen vollautomatisch ohne Zutun des Benutzers von statten. Nur wenn es zu Überschneidungen bei Änderungen kommt, wird dieser Konflikt automatisch von Git erkannt. Hier ist dann ein manueller Eingriff notwendig.

Code-Hosting

image.jpg

© Internet Magazin

Github ist der populärste Code-Hosting-Dienst für Git, das für Open-Source-Projekt komplett kostenlos ist.

Zwar wird für die Entwicklung mit Git nicht zwingend ein Server benötigt, aber gerade bei der Entwicklung in einem Team ist es durchaus sinnvoll ein zentrales Repository anzulegen. Natürlich kann dies auf einem eigenen Server abgelegt werden, es stehen aber auch sogenannte Code- Hosting-Plattformen zur Verfügung, die Git unterstützen. Für Open-Source-Projekte können Sie beispielsweise auf Sourceforge oder Google-Code zurückgreifen. Die Vorzeigeplattform ist allerdings Github (www.github.com), dort können sowohl freie als auch geschlossene Projekte verwaltet werden. Auch rein kostenpflichtige Lösungen wie beispielsweise Hosting-Lösungen wie Codesion, Assembla oder Unfuddle bieten mittlerweile Git-Support. Eine komplette Liste an Code-Hosting-Systeme ist unter https://git.wiki.kernel.org/index.php/Git Hosting verfügbar.Wer möchte, der kann mit Gitosis (eagain.net/gitweb/?p=gitosis.git) auch sein eigenes Git-Hosting-System aufbauen. Wer allerdings Gitosis auf einem Windowsserver nutzen möchte, auf den kommt einiges an Arbeit zu, bis ein solches System einsatzbereit ist.

Fazit

Git ist schon lange den Kinderschuhen entwachsen und stellt die Basis vieler Projekte dar. Die Entwicklung schreitet kontinuierlich voran. Wer bereits mit anderen VCS wie beispielsweise Subversion gearbeitet hat, der wird nur wenig Einarbeitungszeit benötigen, um produktiv mit Git zu arbeiten. Die Vorteile von Git gegenüber klassischen VCS sind immens, ein Umstieg lohnt sich allemal. Allein die Geschwindigkeitsgewinne und das verbesserte Branchen und Mergen sind Grund genug für einen Umstieg.Mittlerweile existieren viele Code-Hosting- Systeme, die eine Unterstützung von Git bieten. Das populärste ist Github, das bei Open-Source-Systemen die größte Verbreitung besitzt.

Alternativen

Neben Git sind noch weitere DVCS verfügbar. Zwei davon können Git in puncto Funktionalität, Geschwindigkeit, Verbreitung und Community durchaus das Wasser reichen. Als Basis der Entwicklung von Ubuntu ist Bazaar (bazaar.canonical.com/) entstanden. Leider hat Bazaar diese Ecke nie so richtig verlassen, sodass vergleichsweise wenige Projekte mit diesem DVCS arbeiten.Dies hat zur Folge, dass weniger Tools und eine kleinere Community vorhanden sind. Ein etwas ernster zu nehmender Konkurrent ist Mercurial, das meist Hg genannt wird (Hg ist das chemische Zeichen für Quecksilber, im englischen Mercury). Wie Bazaar ist Mercurial in Python programmiert.Im Gegensatz zu Bazaar hat Hg allerdings eine große Anhängerschaft, was dazu geführt hat, dass hier ein größeres Ecosystem an Werkzeugen, Clients und Supportmöglichkeiten vorhanden ist. Prominente Opern-Source-Projekte, die Mercurial nutzen, sind beispielsweise Mozilla, OpenOffice, Netbeans oder Python.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
Film Amazon Prime Instant Video Warner Bros Emily Browning
Vorschau auf Film- und Serien-Highlights

Prime Instant Video lockt im Oktober mit Highlights wie "Sucker Punch", "Fifty Shades of Grey", "Spotlight" und der zweiten Staffel von "Ash vs. Evil…