Kategorie-Archiv: Allgemein

Git Glossar

Hier findet Ihr die wichtigsten Git-Befehle. Selbst wenn Ihr eine grafische Git-Oberfläche verwendet ist es gut zu wissen welche Shell-Befehle es gibt und was diese tun.

Git einrichten
init Neues Repository erstellen (aktuelles Verzeichnis).
init --bare Ein zentrales Repository erstellen.
Achtung! Der Ordnername sollte mit .git enden (z.B. my-project.git).
clone <repo> Kopiert ein Repository welches unter <repo> zu finden ist.
config --global Globale Konfiguration von git (z.B. Benutzerinfo angeben).
Mit Git lokal arbeiten
add <name> Dateien und Ordner zur "Staging Area" hinzufügen (abhängig von <name>).
Mit * werden alle Änderung hinzugefügt (.ignore-Regeln werden aber beachtet).
commit Änderungen in der "Staged Area" werden in das lokale Repository übernommen.
stash Speichert alle lokalen Änderungen in ein lokales Stash-Objekt.
Nützlich um aktuelle Arbeit ohne Commit zu sichern.
status Zeigt offene Änderungen, welche noch nicht committed wuden.
log Zeigt Commits (Ausgabe kann über Parameter eingestellt werden, wie z.B. --graph).
Branching
branch Branches verwalten (erstellen, löschen, umbenennen)
checkout <branch> Von einem Branch in ein anderes wechseln.
Es können auch einzelne Dateien oder Commits ausgecheckt werden.
merge --no-ff <branch> Das aktuelle Branch mit <branch> zusammenführen.
Für Größere merges empfiehlt es sich immer --no-ff zu verwenden (bessere Chronik).
Nach dem Merge muss normal committed werden.
Git synchronisieren (mit zentralem Repository)
remote Remote-Verbindungen verwalten.
Dieser Befehl erstellt quasi ein Alias für umständlich lange URL's.
fetch Git holt sich den aktuellen Stand des zentralen Repositories (ohne merge).
Dies kann nützlich sein um erst ein Review vor dem git merge zu machen.
pull Macht das selbe wie "git fetch" aber zusätzlich noch "git merge".
push Lokale Commits zum zentralen Repository schicken.
Fortgeschrittene Funktionen
checkout Kann ältere Commits wiederherstellen (oder zu einem anderen Branch wechseln).
revert TODO
reset TODO
clean TODO
commit --amend Änderungen dem letzten Commit hinzufügen (nur erlaubt solange noch kein push erfolgt ist!).
rebase TODO
reflog TODO

Tipps & Tricks

Lokale Änderungen verwerfen

Folgende Befehle verwerfen alle Änderungen und stellen quasi den Server-Zustand her:

Squash - (Lokale) Commits zusammenführen

Manchmal ist es praktisch Zwischenstände in kurzen Abständen zu committen, besonders um etwas auszuprobieren. Blöd nur wenn jedes "Mini"-Commit zum Server geschickt wird. In so einem Fall wünscht man sich eine Merge-Funktion der lokalen Commits um einen großen zu erhalten.

Achtung: Dieser Befehl darf nur für lokale Commits angewendet werden welche noch nicht zum Server gepusht wurden!