Git

An meiner Masterarbeit will ich sowohl an der Uni als auch von zuhause aus arbeiten. Damit ich nicht ständig über sftp Dateien umständlich hin- und herkopieren muss, schlägt einem die Lösung mit Git gerade zu ins Gesicht. Ich will hier kurz erläutern, wie ich Git eingerichtet und welche Konfigurationen ich gemacht habe.

An der Uni habe ich über die dortige IT-Infrastruktur einen Arbeitsplatz (nennen wir ihn LISA) auf den ich immer Zugriff habe, dort möchte ich ein zentrales Repository einrichten. Gleichzeitig arbeite ich neben der Uni auch zuhause an meinem Computer (nennen wir ihn KLAUS).

Der Arbeitsablauf an meinem Computer zuhause sieht wie folgt aus:

Um diesen Arbeitsablauf so zu organisieren, habe ich neben der Installation von Git auf allen LISA und KLAUS folgende Schritte durchgeführt

Am Server (bei mir LISA):

Da der Uni-Rechner immer im Netz verfügbar ist, erstelle ich hier das zentrale Repository (nichts anderes als ein Verzeichnis welches auf bestimmte Weise mittels Git initialisiert wird) mit:

mkdir ~/my-central-repository
cd ~/my-central-repository
git init --bare

Am Client (bei mir KLAUS):

Bei mir am Rechner zuhause erstelle ich zunächst einen Ordner, auf dem dann Git initialisiert wird. 

mkdir ~/my-repo/
cd ~/my-repo/
git init
git remote add origin <username>@<server-url>:<path to central repository>
git config --global core.editor "emacs -nw"
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

Damit ist Git initialisiert, Git wurde das zentrale Repository (remote origin) mitgeteilt und ein paar Konfigurationen wurden gemacht, die selbsterklärend sein sollten.

Beispielhaft wird jetzt eine neue Datei am Client erstellt:

touch first_file.txt

Diese wird zum Repository hinzugefügt mit:

git add first_file.txt

Und alles wird mit einer Nachricht übergeben an Git (comitted)

git commit -m 'Die erste Datei die übergeben wird.'

Jetzt soll alles noch auf das zentrale Repository auf den Server hochgeladen werden. Das geschieht mit:

git push origin master

Dort liegen jetzt die Dateien. An einem anderen Client könnte man jetzt, nachdem man über git remote add origin ... das zentrale Repository an Git mitegeteilt hat über folgenden Befehl sein Arbeitsverzeichnis aktualisieren:

git pull origin master

Um alle Änderungen inkl. gelöschter Dateien zu übergeben, benutzt man folgenden Befehl:

git commit -a -m 'hier schreibst du die Änderungen hin, die du gemacht hast'