View on GitHub

GE-Kempten.github.io

Inoffizieller Wiki des Studiengangs Informatik Game Engineering and der Hochschule Kempten

Git

Git ist ein distributed version control system, mit dem sich Dateien kollaborativ verwalten lassen. Im Fall dieser Website verwenden wir den kostenlosen Service von GitHub als remote repository, auf dem die Dateien gespeichert werden. Jeder Contributor unterhält außerdem ein lokales Repo auf seinem Computer, in dem er Dateien bearbeiten kann. Ist eine Bearbeitung abgeschlossen, können die Veränderungen (Commits) auf den Server ge_push_t werden, sodass sich andere Bearbeiter die aktuelle Version des Projekts vom Server _pull_en können.

Einrichtung von Git

Es gibt zwar auch Gui-Programme für Git, aber den kompletten Funktionsumfang bekommt man nur in der Terminal-Version. Nach der Installation sollte man zunächst den Benutzernamen (git config --global user.name "[Benutzername]") und die Email (git config --global user.email "[email@domain.tld]") festlegen. Dann kann das Repository mit dem Befehl git clone [URL] an einen entsprechenden Ort heruntergeladen werden. Die Url findet sich auf der Projektseite unter dem grünen Download-Knopf.

Workflow

Sobald die Einrichtung abgeschlossen ist und das Repo mit git clone [URL] geklont wurde, können Änderungen an den Dateien vorgenommen werden. Wenn seit dem Klonen bereits Zeit verstrichen ist, kann mit git pull die aktuelle Version heruntergeladen werden.

Die im Projektordner enthaltenen Dateien können wie jede andere Datei auf dem Computer bearbeitet werden. Bearbeitungen, Löschungen oder Neuzugänge können mit git add [Datei 1] [Datei 2] [...] (oder mit git add . um alle Änderugnen auszuwählen) zu einem neuen Commit hinzugefügt werden. Mit git status lässt sich anzeigen, welche Dateien bearbeitet wurden und ob diese bereits zu einem Commit hinzugefügt wurden. Ist die bearbeitung abgeschlossen, kann der Commit mit git commit -m "[Nachricht]" abgeschlossen werden. Dabei sollte möglichst genau beschrieben werden, was verändert wurde. Es empfiehlt sich, für eine jede Bearbeitung einen eigenen Commit anzulegen, sodass leicht nachvollzogen werden kann, was verändert wurde. Die Commits werden zunächst lokal auf dem Computer gespeichert und können mit git push auf GitHub veröffentlicht werden.

Quick Reference

Hier sind die einfachsten Commands für die Navigation im Terminal und die Verwendung von Git aufgelistet.

Real pros use Linux, also sind funktionieren einige Commands eventuell nicht auf Window$ oder macO$. Aber da hilft das Internet… ;)

Command Effekt
cd [ORDNER] Navigiere in einen Ordner
cd .. Übergeordneter Ordner
ls Liste den Inhalt des Ordners auf
cat [Datei] Gib den Inhalt einer Textdatei aus
touch [Datei] Erstelle neue Datei oder aktualisiere das Datum
rm [Datei] Datei löschen
rm -rf [Ordner] Ordner samt Inhalt löschen (Achtung!)
mv [Quelle] [Ziel] Datei bewegen oder umbenennen (Vorsicht in Git!)
mkdir [Ordner] Erstelle einen Ordner

Grundlegende Commands

Git hat unendlich viele Funktionen, hier sind nur die einfachsten aufgelistet. Mehr Commands findet man auch leicht im Internet. :)

Command Effekt
git clone [URL] Klone ein Repo
git pull Lade die aktuelle Version
git status Zeigt an, ob Dateien bearbeitet wurden
git add [Datei] Fürge eine neue Datei zum Commit hinzu
git add . Füge alle Dateien zum Commit hinzu
git remove [Datei] Entfernt eine Datei vom Commit
git commit -m “[Nachricht]” Schließe einen Commit ab
git push Veröffentliche alle lokalen Commits
git mv [Quelle] [Ziel] Datei in Git bewegen oder umbenennen