Installation GIT

Willemers Informatik-Ecke

Die Bücher des Autors:
C++ Der Einstieg
Python
Java
Linux-Server für Einsteiger
Coding for fun mit C++
2017-01-01

Installation des Git-Clients

Um mit Git arbeiten zu können, muss es zunächst einen Client geben.

Linux

Auf einem Linux-Rechner wird das Paket git installiert. Das kann auf Debian-ähnlichen Systemen (Ubuntu, Mint) mit dem folgenden Befehl als root installiert werden (ggf. sudo voranstellen):
apt-get install git

Grafische Oberflächen gibt es reichlich. Für den KDE-Desktop eignet sich gitk, ansonsten stehen Git-Cola zur Verfügung. Letzteres wurde auch für Windows und Mac portiert.

Windows

Das Paket Git für Windows enthält eine Kommando-Shell, die sogenannte Git-Shell als auch eine grafische Oberfläche.

Mac

Auch für den Mac gibt es Git-Unterstützung

Ein zentrales Repository auf Dateizugriffsbasis

Es ist prinzipiell möglich und recht einfach, ein zentrales Repository auf einem zentralen Netzlaufwerk abzulegen und von den Arbeitsplätzen zuzugreifen. Als Provisorium oder für weniger wichtige Versionsverwaltungen, ist das durchaus ein gangbarer Weg.

Zum Anlegen des Repositories erzeugt man ein Verzeichnis, wechselt hinein und ruft den Befehl git init auf.

git --bare init
Mit der Option --bare wird ein Repository angelegt, in dem die verwalteten Dateien nicht öffentlich ausliegen. Das mindert die Versuchung, im zentralen Repository direkt zu arbeiten.

Client-Zugriff

Der Client erzeugt sich einen Clone des zentralen Repositories, indem er dem Befehl git clone den Pfad des Repositories als Argument übergibt.
git clone /pfad/repository
Diese Variante ist besonders unter Windows beliebt, weil man sich so nicht mit SSH oder HTTP befassen muss, aber gleichzeitig auch gerade hier gefährlich, weil ein solches Repository im direkten Zugriff eines Verschlüsselungs-Trojaners liegt.

Zentraler GIT-Server für SSH-Zugriffe

Mit einem einfachen Linux-Server kann ein einfachser Git-Server auf der Basis von SSH entstehen. Auf dem Server müssen dazu die Pakete git und ein SSH-Server aus dem Paket openssh-server installiert sein.

Nun wird ein Benutzer git angelegt, über den später die SSH-Aufrufe für das GIT laufen sollen.

adduser git
Der Benutzer git muss von außen per ssh auf den Rechner dürfen. Im Zweifelsfall muss in der Datei /etc/ssh/sshd_config den Eintrag AllowUsers um git ergänzen. Man sollte prüfen, ob die SSH-Einrichtung einwandfrei klappt. Dazu loggt man sich einfach als git auf dem Server ein.
ssh git@server
Soll der Zugriff auf die Maschine für den Benutzer git eingeschränkt werden, kann in der /etc/passwd statt bash der Eintrag /usr/bin/git-shell eingetragen werden. Anschließend kann sich git nicht mehr direkt per ssh auf der Zielmaschine einloggen.

Anlegen eines Repositories

Die Repositories können auf dem Server an zentraler Stelle beispielsweise im Verzeichnis /var/git abgelegt werden. Der Benutzer git muss die Berechtigung bekommen, in diesem Verzeichnis zu schreiben und zu lesen.

Einfacher ist es, die Repositories im Heimatverzeichnis des Benutzers git abzulegen. Dann können sie in der URL ohne Pfadangabe zugegriffen werden. Dann läge die Repositories im Verzeichnis /home/git.

Nur wird ein leeres Repository namens testprojekt initialisiert. Dazu meldet man sich zunächst als Benutzer git an.

cd
mkdir testprojekt
cd testprojekt
git --bare init

Zugriff vom Client

Der Client kann sich einen Clone auf dem Arbeitsplatzrechner mit dem folgenden Befehl ziehen:
git clone git@server:testprojekt
Um eine Datei test.txt ins zentrale Repository zu schaffen, muss diese
  1. im lokalen Verzeichnis testprojekt angelegt werden.
  2. per git add test.txt in den Zustand staged gebracht werden.
  3. per git commit ins lokale Repository übernommen werden.
  4. per git push in das zentrale Repository geschoben werden.

Git-Server-Pakete

Soll eine ausgefeiltere Benutzerverwaltung erfolgen, ist es sinnvoll, passende Pakete zu verwenden.

Links


Homepage (C) Copyright 2017 Arnold Willemer