Arbeitsbereiche¶
Git verwaltet mehrere Speicherorte oder Workspaces, in denen Dateien gespeichert werden:
- local working copy
enthält Dateien und Verzeichnisse, die normal bearbeitet werden.
- staging area
enthält Änderungen an Dateien, die in die Versionsgeschichte geschrieben werden sollen.
- local repository
enthält die gesamte Historie aller Dateien im Projekt.
- remote repository
enthält ebenfalls die gesamte Historie, ist aber auf einem entfernten Server gespeichert.
- stash
enthält Änderungen, die vorübergehend an einem anderen Ort gespeichert werden, um sie aus dem aus dem Weg zu schaffen.
Grundlegende Git-Befehle¶
Mit den folgenden grundlegenden Git-Befehlen werden Änderungen zwischen diesen Arbeitsbereichen verschoben.
Hinweis
Shell-Befehle verwenden eine Bash-kompatible Syntax. Daher sollten sie mit den gängigsten Shells, die für Git verwendet werden, kompatibel sein:
Windows: Git Bash
WSL: Bash
Linux: Bash oder Zsh
macOS: Zsh
Möglicherweise müsst ihr die Syntax geringfügig anpassen, wenn ihr eine andere Shell verwendet, z.B. die PowerShell.
Hinweis
Dieses Buch konzentriert sich auf die Kommandozeile und behandelt GUI’s nur am Rande. Die Befehlszeile ist die leistungsfähigste Art, Git zu verwenden. GUIs implementieren nur eine Teilmenge dessen, was mit Git und der Shell möglich ist. Dennoch ist mit vielen GUIs ein hybrider Ansatz möglich und weit verbreitet: Ihr könnt eine grafische Benutzeroberfläche für Aufgaben verwenden, und die CLI für die volle Leistungsfähigkeit. In GUI Clients könnt ihr euch ein passendes GUI-Tool auswählen.
git addfügt Dateien aus dem Arbeitsverzeichnis dem Bühnenbereich (engl.: staging area) hinzu.
git reset HEADstellt eine Datei im Arbeitsbereich aus dem Bühnenbereich wieder her.
git stashverschiebt Dateien aus dem Arbeitsbereich in ein Versteck (engl.: stash).
Siehe auch
git commitschreibt Änderungen im Bühnenbereich in das lokale Repository.
git pullkopiert Änderungen aus dem entfernten in das lokale Repository und aktualisiert das Arbeitsverzeichnis.
git pushkopiert Änderungen aus dem lokalen Repository in das entfernte (engl.: remote) Repository.
git push -u UPSTREAM BRANCHNAME-u(Langform--set-upstream)erlaubt die Angabe eines entfernten Repository und des darin enthaltenen Zweiges.
UPSTREAMist der Name des entfernten Repository, üblicherweise
origin.BRANCHNAMEist der Name des Zweiges im entfernten Repository, üblicherweise derselbe Name wie im lokalen Repository.