In einem vergangenen Post habe ich Ihnen gezeigt, wie Sie ein Subversion-Repository aufsetzen.
In diesem post zeige ich Ihnen die einfache Variante, in der wir einfach nur git installieren. Dabei können alle User, die sich per Public Key Authentication SSH auf den Server verbinden können (also ihren öffentlichen Schlüssel auf dem Server abgelegt haben), mit dem git repository arbeiten.
In einem späteren Post zeige ich Ihnen, wie Sie mit gitolite auch Usern, die sich nicht per SSH auf den Server schalten können, Zugriff über einen Usernamen und Passwort gewähren können.
Git-Repository
Installation
sudo apt-get install git
wir erstellen einen user für git
adduser --system --shell /bin/bash --group --disabled-password --home /home/git git
Sie als REpositoryadministraotr müssen Sie dem User git ihren öffentlichen SSh-Schlüssel geben, damit Sie sich mit diesem als User git auf dem Server einloggen können. Wie das geht, habe ich Ihnen hier für Windows und hier für Linux gezeigt. Sie haben den SChlüssel wahrscheinlich bereits im Ordner /home/<ihr username>/.ssh. Kopieren Sie ihn nach /tmp/$(whoami).pub und außerdem nach /home/git/.ssh/authorized_keys und geben Sie dieser authorized-keys ownership für den user git
cp /home/<username>/.ssh/authorized_keys /tmp/($whoami).pub cp /home/<username>/.ssh/authorized_keys /home/git/.ssh/authorized_keys chown git /home/git/.ssh/auhtorized_keys reload ssh
sie müssen jetzt testen, ob Sie sich von ihrem Desktop-Rechner aus als User git über ssh verbinden können. Wenn das nicht geht, müssen Sie vielleicht in der /etc/ssh/sshd_config den User git noch in der Option AllowUsers eintragen und danach noch mal ein reload ssh ausführen. ERst wenn das geht, können Sie weiter machen.
jetzt erstellen wir mal unser eigenes git repository. das machen wir auf dem Linux Server selbst
mkdir /source/ chown git.git /source chmod 700 /source cd /source/ git init --bare /source/testprojekt.git chown -R git /source/testprojekt.git
Soeben wurde das Git Repository testprojekt angelegt. In diesem Repository befinden sich derzeit noch keine Dateien. Zum Testne des Repositories können Sie jetzt einfach eine Textdatei erstellen oder bereits Ihren Quellcode verwenden. Wir werden ihn im Folgenden entweder unter einem Linux-Desktop-Client oder unter einem Windows-Desktop-Client zum Repositorty hinzufügen.
Vorbereiten des Repositorys mit Linux Desktop Client
Wenn Sie Ihren Quellcode von einem Linux-Client aus verwlaten wollen, müssen Sie einige Vorbereitungen treffne. Damit das geht, müssen wir erst unsere .ssh/config editieren
Host githost
HostName git.host.de
Port <SSH-Port>
User root
Vorbereiten des Repositorys mit einem Windows-Cleint
wir brauchen folgende Tools:
- mysisgit
- putty
- pscp
- pageant
- Tortoise plink
installiert mysisgit mit folgenden Einstellungen




Jetzt müssen wir in den Systemumgebungsvaraibeln die Variable GIT_SSH=c:\<pfad\zur\>plink.exe setzen.

Nun müssen wir sichergehen, dass der private Schlüssel, den wir auf unserem Windows Client beim Einrichten von Public Key Authentication über SSH erstellt haben, in der pageant.exe eingepflegt ist.

Jetzt testet ihr, ob ihr euch weiterhin erstmal ganz normal per SSH mit dem User git auf den Server verbinden könnt. Solange ihr euch als User git noch nicht per putty auf den Server verbinden könnt, braucht ihr gar nicht erst weitermachen. Behebt erst dieses Problem. Möglciherweise ist der Public Key noch nicht i der Datei /home/git/.ssh/authorized_keys oder die Datei authorized_keys hat kein chmod von 600 oder der Ordner .ssh hat kein chmod von 700? Möglciherweise steht der User git nicht in der Option AllowUsers innerhalb der /etc/ssh/sshd_config ?
Jetzt testen wir den Zugriff auf ggit. Geht dazu im Windows Explorer in das Verzeichnis, in welchem ihr eure putty.exe gespeichert habt, rechtsklickt auf einen leeren raum im Ordner und startet die Git Bash

In der neuen git bash bewegn wir uns zu dem Ordner auf dem Windows-Desktop-Client, in dem wir unsere repositories in zukunft auschecken wollen und konfigurieren für unseren lokalen Windows Benutzer die Daten, die im git repository angezeigt werden sollen, wenn wir Dateien aus dem git repository bearbeiten / auschecken / einchecken usw..
git config --global user.name "<mein name>" git config --global user.email"<meine email>"
Klonen des noch leeren Repositories
Egal ob Sie nun unter einem Linux- oder unter einem Windows-Desktop-Client arbeiten: Wir müssen erst das derzeit noch leere Repository einmal klonen über
git clone ssh://git@<FQDN>:<SSH Port>/source/testprojekt.git #neuer Ordner testprojekt wird auf dem Client erstellt cd testprojekt/
Jetzt fügen wir das test-Repository noch als remote reository hinzu
git remote add testprojekt ssh://git@<FQDN>:<POrt>/source/testprojekt.git
in der git bash führenw ir aus
git remote -v
dioe remote repositories sollten entsprechend eingetragen sein. In der ersten Phase steht hierbei der Name des Repositorys. Dieser ist sehr wichtig für die folgenden Befehle.
wir holen uns nochmal den aktuellen inhalt der testing-repository
git fetch <Repository-Name - in unsreem Fall testprojekt> git checkout git merge git remote -v
jetzt fügen wir auf unserem Windows/linux Client, auf welchem wir jetzt den Ordner testing haben sollten, eine neue Text-Datei test.txt mit beliebigem nihalt oder eben bereits einen produktiven Quellcode hinzu. Wir speichern die Datei und übertragen diese nun in unser git repository
Nun haben Sie Dateien in das Verzeichnis eingefügt, in welchem Sie künftig Ihren Quellcode auf dem Cleint bearbeiten wollen. Diese müssen Sie nun dem Repository hinzufügen. Dazu müssen Sie zunächst alle Dateien in dem Ordner in die Versionsverwaltung hinzufügen über git add und dann mögliche Ämnderungen an bereits existierenden Dateien commiten.
git status git add * git status git commit -m "<Kommentar>"
jetzt müsste die auf dem Windows Cleint datei im git repository auf dem Linux Server angekommen sein. Prüfen könnt irh das, indem ihr das Repository mit git clone in einen anderen Ordner auf eurem Client klont, beispielsweise beim Windows-Client unter C:\Source\wololo. klont dort mit git clone das repository erneut rein und schaut, ob der Ordner testfolder und die datei test.txt dabei sind. Wenn das der fall ist, funktioniert git und ihr könnt es produktiv nutzen.
Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!
Ein Gedanke zu „Ein Git Repository einrichten“