Git
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Git 🇬🇧 ist ein dezentrales Versionsverwaltungssystem. Es wurde als Ersatz für das proprietäre Programm BitKeeper 🇬🇧 von Linux-Maintainer Linus Torvalds im Jahr 2005 geschrieben, da BitKeeper vielen Kernel-Entwicklern durch Lizenzverschärfungen den Zugang zu den Kernelquellen verwehrte. Die erste Version erschien wenige Tage nach der Ankündigung durch Torvalds. Seit dem Entwicklungsstart hat sich Git äußerst rasant entwickelt.
Git unterscheidet sich als dezentrales System von den traditionellen Programmen wie CVS und Subversion. Es hat folgende wichtige Eigenschaften:
Einfache und effiziente Arbeitsweise nach KISS-Prinzip
Kein zentraler Server benötigt
Unterstützung vieler Übertragungsprotokolle (HTTP, HTTPS, FTP, SSH, rsync)
Absicherung durch GnuPG-Signierung
Viel Arbeit ohne Internetzugang möglich
Installation¶
Folgendes Paket muss installiert [1] werden:
git-core
Anwendung¶
Quellcode herunterladen¶
Will man nur den Quellcode eines Projektes aus dem Git-Repository herunterladen, öffnet man ein Terminal[2] und tippt den Befehl
git clone git://ADRESSE
Um beispielsweise den aktuellen Quellcode des Linux-Kernels in das Verzeichnis linux herunterzuladen, braucht man nur diesen Befehl:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux
Falls man hinter einer Firewall sitzt und so der Zugriff über den Git-Port(Port 9418) gesperrt ist, kann man versuchen über den fast immer offenen Port 80 auf das Repository zuzugreifen. Der entsprechende Befehl sieht folgendermaßen aus:
git clone http://ADRESSE
Entwicklung mit Git¶
Einrichtung¶
Bevor man mit der Arbeit beginnt, sollte man seinen Namen und seine E-Mail-Adresse eintragen:
git config --global user.name NAME git config --global user.email EMAIL@ADRESSE.de
Diese Daten erscheinen in der Beschreibung einer Veränderung und sind, wenn mehrere Entwickler an einem Projekt arbeiten, wichtig um den Autoren einer Revision identifizieren zu können.
Um die Lesbarkeit zu erhöhen, sollte man die Ausgaben mit den folgenden Befehlen einfärben:
git config --global color.ui "auto"
Für Computer mit mehreren Prozessor-Kernen empfiehlt sich diese Option:
git config --global pack.threads "0"
Grundlagen¶
Zuerst erstellt man einen Ordner für das Projekt und wechselt in diesen Ordner. Dort führt man nun den Befehl
git init
aus. Der Befehl erstellt das Git-Repository mit den nötigen Angaben. Nun erstellt man den Quellcode des Programmes und fügt die Datei(en) mit dem Befehl
git add DATEI
zum Git-Repository hinzu. Hat man nun wieder etwas am Quellcode verändert, erstellt man mit
git commit -m "ÄNDERUNGSBESCHREIBUNG"
eine Revision. Will man den Quellcode nun auf einen Server laden, führt man diesen Befehl aus:
git push ADRESSE BRANCHNAME
Hat nun ein anderer Entwickler etwas am Quellcode verändert, kann man die lokale Version mit dem Befehl
git pull
aktualisieren.
Branches¶
Hat man mehrere Entwicklungszweige zu pflegen, wie beispielsweise stable oder testing, kann man sich sogenannter Branches bedienen. Um bestehende Branches anzuzeigen gibt man diesen Befehl ein:
git branch
Um nun eine neue Branch zu erstellen, muss nur der folgende Befehl eingegeben werden:
git branch branchname
Um in eine andere Branch zu wechseln verwendet man den diesen Befehl:
git checkout branchname
Graphische Oberflächen für Git¶
git-gui¶
git-gui ist eine einfache Tk-Oberfläche für Git, die über das Paket
git-gui
installiert werden kann. Mit ihr lassen sich die alltäglichen Aufgaben mit Git komfortabel erledigen. Sie ist ein offizieller Teil des Git-Projektes.
qgit¶
qgit 🇬🇧 ist eine Qt-basierte Oberfläche für Git, die nicht vom Git-Projekt, sondern extern entwickelt wird. Installiert wird sie über das Paket:
qgit
Auch mit dieser Oberfläche kann man bequem die alltäglichen Dinge der Versionsverwaltung erledigen.
Git und andere Versionsverwaltungssysteme¶
Falls man gezwungen ist, mit einem Subversion- oder CVS-Server zu arbeiten, kann man zur lokalen Verwaltung trotzdem Git einsetzen. Man muss nur das entsprechende Paket installieren. Für Subversion ist das
git-svn
und für CVS ist das:
git-cvs
Links¶
Projektseite 🇬🇧