Übung - Staging
Es geht um den Stage-Bereich (auch Index genannt). Jede Änderung (bearbeitete, neue oder gelöschte Dateien) wird muss als “Snapshot” im Stage-Bereich registriert werden (z.B. mit git add), bevor Sie in ein Commit übernommen werden kann.
Tipps
git add <datei/verzeichnis>überträgt den aktuellen Stand einer Datei in den Stage-Bereich.- Ändert man eine Datei nach dem
add, hat sie im Workspace einen anderen Stand als in der Stage. git status,git diffundgit diff --stagedzeigen dies.git restore --staged <file>nimmt ein Staging zurück.git restore <file>stellt eine Datei im Workspace wieder her. Achtung: Die lokale Änderungen werden dabei überschreiben!- mit
-s <revision>können auch beliebige andere Stände von Dateien und Verzeichnisse geholt werden. git stash -uentfernt alle Änderungen (und unversioniert Dateien) aus dem Workspace (und sichert diese im Stash).
Setup
Im Verzeichnis repo wartet ein Git-Projekt darauf, bearbeitet zu werden.
Schritt 0 - START
$ cd repo
Schritt 1 - Staging
Starte im Verzeichnis git-uebungen/aufgaben/commits-staging/repo.
Ersetze in der Datei demo, Fit durch Git. Füge sie dann zum Stage-Bereich hinzu. Ersetze dann doof durch toll. Lasse dir den Status und die Diffs für Workspace und Stage zeigen.
Schritt 2 - Restore - Staging zurücknehmen
Starte im Verzeichnis git-uebungen/aufgaben/commits-staging/repo.
Die letzte Änderung soll doch noch nicht in das nächste Commit übernommen werden, nehme sie zurück.
Schritt 3 - Restore - Änderung ganz zurücknehmen
Starte im Verzeichnis git-uebungen/aufgaben/commits-staging/repo.
Die Änderungen an demo sollen ganz zurückgenommen werden. Lasse Dir nachher Status und Diffs anzeigen.
Schritt 4 - ⭐ Restore - Älteren Inhalt einer Datei zurückholen
Starte im Verzeichnis git-uebungen/aufgaben/commits-staging/repo.
Die Datei beispiel wurde dreimal bearbeitet. Hole den mittleren Stand zurück und erstelle ein Commit.
Schritt 5 - ⭐ Restore - Zurückholen älterer Verzeichnisversionen
Starte im Verzeichnis git-uebungen/aufgaben/commits-staging/repo.
Im Folder ufer wurde ein Spiel gespielt. Stelle die Spielstände nach, indem Du restore auf das ufer-Verzeichnis anwendest.
Tipp: ll ufer/* zeigt die Verzeichnisse des Spiels.
Tipp: Beim restore werden unversionierte Dateien nicht abgeräumt. Man kann sie mit dem stash-Befehl abräumen.
repo $ cd ..