Lösung zu Schritt 0 - START
Lösung zu Schritt 1 - Staging
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.
Ersetze Fit
durch Git
.
repo $ # Edit file demo
repo $ git add demo
Ersetze doof
durch toll
.
repo $ # Edit file demo
repo $ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: demo
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: demo
Die Datei demo
wird sowohl in Changes to be committed:
als auch in Changes not staged for commit
geführt.
repo $ git diff
diff --git a/demo b/demo
index 94cc8b3..70971ae 100644
--- a/demo
+++ b/demo
@@ -1,3 +1,3 @@
Git
ist
-doof.
+toll.
Man sieht, dass der Stage-Bereich ein anderes Diff hat, als der Workspace.
repo $ git diff --staged
diff --git a/demo b/demo
index af77d0b..94cc8b3 100644
--- a/demo
+++ b/demo
@@ -1,3 +1,3 @@
-Fit
+Git
ist
doof.
Lösung zu Schritt 2 - Restore - Staging zurücknehmen
Die letzte Änderung soll doch noch nicht in das nächste Commit übernommen werden, nehme sie zurück.
repo $ git restore --staged demo
repo $ git status
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: demo
no changes added to commit (use "git add" and/or "git commit -a")
repo $ git diff
diff --git a/demo b/demo
index af77d0b..70971ae 100644
--- a/demo
+++ b/demo
@@ -1,3 +1,3 @@
-Fit
+Git
ist
-doof.
+toll.
Nach dem zurücknehmen ist der Stage-Bereich wieder leer.
repo $ git diff --staged
Lösung zu Schritt 3 - Restore - Änderung ganz zurücknehmen
Die Änderungen an demo
sollen ganz zurückgenommen werden. Lasse Dir nachher Status und Diffs anzeigen.
repo $ git status
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: demo
no changes added to commit (use "git add" and/or "git commit -a")
repo $ git restore demo
repo $ git status
On branch main
nothing to commit, working tree clean
repo $ git diff
repo $ git diff --staged
Jetzt sind die Änderungen ganz weg.
Lösung zu Schritt 4 - ⭐ Restore - Älteren Inhalt einer Datei zurückholen
Die Datei beispiel
wurde dreimal bearbeitet. Hole den mittleren Stand zurück und erstelle ein Commit.
repo $ git log --oneline beispiel
2e48c2f sp?ter
4222f43 dazwischen
dfe79fa dazwischen
repo $ git restore -s HEAD~9 beispiel
repo $ git diff
diff --git a/beispiel b/beispiel
index c571ad6..ab1b57f 100644
--- a/beispiel
+++ b/beispiel
@@ -1 +1 @@
-Und so endete es.
\ No newline at end of file
+Dann kam das mit dem Mittelteil.
\ No newline at end of file
repo $ git commit -am "Mittlerer Stand wiederhergestellt."
[main 27abb5e] Mittlerer Stand wiederhergestellt.
1 file changed, 1 insertion(+), 1 deletion(-)
Lösung zu Schritt 5 - ⭐ Restore - Zurückholen älterer Verzeichnisversionen
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 $ git log --oneline -- ufer/
40f54a9 Zug 7
a9882a6 Zug 6
954d812 Zug 5
77f4917 Zug 4
e1ee973 Zug 3
3fe29e6 Zug 2
6d31336 Zug 1
cf716f5 Starte spiel
Zug 1
repo $ git stash -u
No local changes to save
repo $ git restore -s HEAD~7 ufer
repo $ ll ufer/*
ufer/ost:
total 8.0K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 ZIEGE
ufer/west:
total 8.0K
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
Zug 2
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~6 ufer
repo $ ll ufer/*
ufer/ost:
total 4.0K
-rw-r--r-- 1 vscode vscode 181 ZIEGE
ufer/west:
total 12K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
Zug 3
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~5 ufer
repo $ ll ufer/*
ufer/ost:
total 12K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 WOLF
-rw-r--r-- 1 vscode vscode 181 ZIEGE
ufer/west:
total 4.0K
-rw-r--r-- 1 vscode vscode 181 KOHL
Zug 4
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~4 ufer
repo $ ll ufer/*
ufer/ost:
total 4.0K
-rw-r--r-- 1 vscode vscode 181 WOLF
ufer/west:
total 12K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 ZIEGE
Zug 5
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~3 ufer
repo $ ll ufer/*
ufer/ost:
total 12K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
ufer/west:
total 4.0K
-rw-r--r-- 1 vscode vscode 181 ZIEGE
Zug 6
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~2 ufer
repo $ ll ufer/*
ufer/ost:
total 8.0K
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
ufer/west:
total 8.0K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 ZIEGE
Zug 7
repo $ git stash -u
Saved working directory and index state WIP on main: 27abb5e Mittlerer Stand wiederhergestellt.
repo $ git restore -s HEAD~1 ufer
repo $ ll ufer/*
total 16K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
-rw-r--r-- 1 vscode vscode 181 ZIEGE
Zug 8
repo $ git stash -u
No local changes to save
repo $ git restore -s HEAD~0 ufer
repo $ ll ufer/*
total 16K
-rw-r--r-- 1 vscode vscode 181 BAUER
-rw-r--r-- 1 vscode vscode 181 KOHL
-rw-r--r-- 1 vscode vscode 181 WOLF
-rw-r--r-- 1 vscode vscode 181 ZIEGE