FAQ
Webhosting
WebPack Pro
Git Versionsverwaltung

Druckansicht
 
 Git Versionsverwaltung  
 

In diesem Artikel möchten wir Ihnen eine kleine Einführung in die Nutzung der dezentralen Software-Versionsverwaltung Git auf Ihrem Virtual Server Managed, Dedicated Server Managed, WebServer Basic oder WebServer Premium geben.

Git ist eine Software zur verteilten Versionsverwaltung, die im Gegensatz zu vielen anderen Lösungen ohne zentralen Server auskommt. Git macht es einfach, viele Branches parallel zu pflegen und zwischen verschiedenen Repositories auszutauschen. Weitere Informationen zur Verwendung von Git für Ihre Softwareprojekte finden Sie z.B. im Ubuntu Wiki oder auf Englisch unter Version Control for Designers oder Everyday GIT With 20 Commands Or So. Eine ausführliche Referenz finden Sie im online verfügbaren Pro Git Book.

| Grundeinrichtung 

Bevor Sie das erste Mal mit Git arbeiten, ist es erforderlich, zunächst Ihren Namen und eine E-Mail-Adresse in der Git-Konfiguration zu hinterlegen. Diese Daten verwendet Git zur Kennzeichnung der von Ihnen vorgenommenen Änderungen. Die Grundkonfiguration erfolgt auf der Kommandozeile mit:

git config --global user.name "IHR NAME"
git config --global user.email ihre@mail.tld

Die Daten werden in der Datei .gitconfig in Ihrem HOME-Verzeichnis hinterlegt. Aus Sicherheitsgründen ist es mit dem SSH-Benutzer wpxxxxxxx nicht möglich, in diesem Verzeichnis Dateien zu erstellen. Daher müssten Sie hierfür entweder den SSH-Benutzer ftpxxxxxxx verwenden oder mit sudo in dessen Kontext wechsel. Näheres erfahren Sie im FAQ-Artikel SSH-Zugang.

Möchten Sie für ein bestimmtes Repository andere Daten verwenden, dann führen Sie diesen Befehl einfach im Stammverzeichnis des Repositories ohne die Option "--global" aus.

| Erste Schritte 

Um ein neues Repository anzulegen wechseln Sie in das Verzeichnis, das zum Stammverzeichnis des Repositories werden soll und initialisieren das Repository mit

git init

Um Dateien neu in die Versionsverwaltung aufzunehmen verwenden Sie

git add dateiname.pl

Mit dem Befehl

git add .

können Sie auch alle unterhalb des aktuellen Verzeichnisses bereits existierenden Dateien aufnehmen. Über diese Befehle werden die Dateien jedoch zunächst nur dem so genannten Index hinzugefügt, die Inhalte der Dateien werden noch nicht eingecheckt. Mit

git status

können Sie sich den aktuellen Index anzeigen lassen. In dieser Übersicht sehen Sie alle neuen Dateien, die noch nicht eingecheckt wurden sowie noch nicht im Index aufgenommene Änderungen. Nach jeder Veränderung an einer Datei müssen diese Änderungen zunächst mit “git add” wieder in den Index aufgenommen werden.

Mit

git commit

werden die Änderungen im aktuellen Index dann eingecheckt. Es öffnet sich dann automatisch ein Editor, in dem Sie einen Kommentar zu diesem comit angeben können. Als Editor verwendet Git den in der Umgebungsvariablen $EDITOR hinterlegten Editor oder als Standard vi (auf einem Virtual Server Managed stehen Ihnen z.B. joe, pico, nano oder vim als Editoren zur Verfügung).

| Mit Repositories arbeiten 

Um eine lokale Kopie aus einem bestehenden entfernten Repository auszuschecken verwenden Sie den Befehl "git clone", z.B. so:

git clone git://github.com/scrooloose/nerdtree.git

Dies legt eine lokale Kopie des gesamten Repositories an und checkt den aktuellen Head aus.

Der clone Befehl kann mit Gits eigenem Protokoll, über http, die SSH oder Pfade im Dateisystem ausgeführt werden.

Als Anlaufstelle für die Entwicklung im Team eignen sich so genannte Bare Repositories, also Repositories, in deren Verzeichnissen selbst keine Projektdateien ausgecheckt werden. Im Gegensatz zu normalen Repositories liegen dort die Git-Dateien nicht in einem .git-Unterverzeichnis sondern direkt im Repository-Verzeichnis. Bare Repositories können mit "git clone --bare" von bestehenden Entwicklungs-Repositories kopiert oder über "git init --bare" neu erstellt werden. Die Verzeichnisnamen von Bare Repositories enden laut Konvention jeweils auf ".git", z.B. "meinprojekt.git".

| Git und SSH 

Als verteilte Versionsverwaltung unterscheidet Git nicht zwischen Server und Client, Änderungen können zwischen Repositories mit "git push" oder "git pull" in beide Richtungen übertragen werden. Unterstützung für SSH ist in Git eingebaut. Um z.B. ein Bare Repository, das auf Ihrem Server liegt in ein lokales Entwicklungsverzeichnis zu klonen, können Sie folgenden Befehl verwenden:

git clone ssh://wp1234567@example.com/~/pfad/zum/repo.git

Die Pfadangabe ist in diesem Fall relativ zum Home-Verzeichnis ("~") auf Ihrem Server.

Nachdem Sie Änderungen vorgenommen und lokale Commits durchgeführt haben, können Sie diese in den master Branch auf den Server pushen mit

git push origin master

| Öffentliche Repositories einrichten 

Auf einem Virtual Server Managed ist die Nutzung von git-daemon zur Veröffentlichung von Repositories über das Git-eigene Protokoll nicht möglich. Sie können ein Git-Repository jedoch auch ganz einfach über den Webserver zur Verfügung stellen.

Clonen Sie dazu zunächst das Repository, das Sie veröffentlichen möchten in ein neues Bare Repository. Wechseln Sie jetzt in das Repository-Verzeichnis und führen folgende Befehle aus

git --bare update-server-info
mv hooks/post-update.sample hooks/post-update
chmod a+x hooks/post-update


Ein solches Repositorie steht jetzt öffentlich zur Verfügung und kann mit einem Befehl der Form

git clone http://yourserver.com/projekt.git

geklont werden.

Beachten Sie bitte, dass die von uns eingesetzte Git-Version die Veröffentlichung über git-http-backend noch nicht unterstützt.

Wird von einem öffentlichem Repository per http gecloned, ist es nicht möglich, Änderungen direkt über "git push origin" zu pushen, da push ausschließlich per ssh zur Verfügung steht und als origin-URL in diesem Fall in der Datei ".git/config" die http-URL hinterlegt ist. Sie können jedoch jederzeit von Ihrem Server aus ein fetch oder pull von dem externen Repository in Ihr öffentliches Repository durchführen.

Ein einfaches Webinterface zum browsen von Repositories ist z.B. die PHP-Software viewgit.






Wie hilfreich ist dieser Informationstext für Sie? Sie haben, wenn Sie im KIS eingeloggt sind, die Möglichkeit Kritik oder Verbesserungsvorschläge zu diesem Artikel abzugeben. Zur Bewertung



 
 Suche in

Suche nach bekanntem FAQ-Artikel.
Artikelnummer (ID):