Lösung zu Schritt 0 - START
Lösung zu Schritt 1 - Commit - mit Staging
Bearbeite die Datei hallo-welt
, füge sie mit git add
zum Index hinzu (Staging) und erstelle ein Commit mit diesen Änderungen.
repo $ # Edit file hallo-welt
repo $ git add hallo-welt
repo $ git commit -m 'Erste Änderung'
[main 7472c9a] Erste ?nderung
1 file changed, 1 insertion(+), 1 deletion(-)
repo $ git show
commit 7472c9afd84a9c8b77a5581c15b41220b0c50209
Author: bjoern <kapitel26blog@gmail.com>
Date: Thu Jul 29 00:00:00 2021 +0000
Erste ?nderung
diff --git a/hallo-welt b/hallo-welt
index a92550c..dfb4ae8 100644
--- a/hallo-welt
+++ b/hallo-welt
@@ -1 +1 @@
-Hallo Welt
\ No newline at end of file
+Hallo Welt!
\ No newline at end of file
Lösung zu Schritt 2 - Commit - automatisches Staging
Bearbeite die Datei hallo-welt
erneut und erstelle wieder ein Commit, dieses mal mal aber mit -a
.
repo $ # Edit file hallo-welt
repo $ git commit -am 'Zweite Änderung'
[main 478ab67] Zweite ?nderung
1 file changed, 1 insertion(+), 1 deletion(-)
Mit der Option -a
kann man sich den add
-Aufruf sparen:
repo $ git log --oneline
478ab67 Zweite ?nderung
7472c9a Erste ?nderung
8d91794 Created file datei1 on branch main by bjoern.
331ed0e Created file hello-world on branch main by bjoern.
f55db71 Created file hallo-welt on branch main by bjoern.
Lösung zu Schritt 3 - Commit - neue Datei
Erstelle new-world
und bestätige sie mit einem Commit.
repo $ # created file 'new-world'
repo $ # Edit file new-world
repo $ git add new-world
repo $ git commit -m 'Neue Datei'
[main 767f657] Neue Datei
1 file changed, 1 insertion(+)
create mode 100644 new-world
Lösung zu Schritt 4 - Commit - Datei löschen
Lösche hallo-welt
und bestätige dies per Commit.
repo $ rm hallo-welt
repo $ git commit -am 'Datei löschen'
[main b4d22e4] Datei l?schen
1 file changed, 1 deletion(-)
delete mode 100644 hallo-welt
Lösung zu Schritt 5 - ⭐ Add - Dateien rekursiv hinzufügen
Lege eine Datei superneu
und eine Verzeichnis sub
mit einer Datei auchneu
an füge beide mit einem Add-Aufruf hinzu und erstelle dann ein Commit.
repo $ # created file 'superneu'
repo $ mkdir sub
sub $ cd sub
sub $ # created file 'auchneu'
sub $ cd ..
.
steht für: aktuelles Verzeichnis.” Alle Dateien darin und auch darunter werden hinzugefügt.
repo $ git add .
repo $ git commit -am 'Neue Dateien'
[main 601dbf4] Neue Dateien
2 files changed, 24 insertions(+)
create mode 100644 sub/auchneu
create mode 100644 superneu
Lösung zu Schritt 6 - ⭐ Commit - Datei verschieben/umbenennen
Benenne die Datei hello-world
in renamed-world
um und bestätige dies durch ein Commit.
repo $ mv hello-world renamed-world
repo $ git add renamed-world
repo $ git commit -am 'Umbenennen'
[main dee82fa] Umbenennen
1 file changed, 0 insertions(+), 0 deletions(-)
rename hello-world => renamed-world (100%)
Anmerkung: Wenn wir git mv
statt mv
genutzt hätten, dann wäre das separate git add
nicht nötig gewesen.
repo $ git log --follow --oneline -- renamed-world
dee82fa Umbenennen
331ed0e Created file hello-world on branch main by bjoern.
Lösung zu Schritt 7 - ⭐ Rename detection
Benenne die Datei datei1
in datei2
mit git mv
um. Sorge dafür, dass die Rename Detection dies nicht erkennt.
repo $ git mv datei1 datei2
repo $ # Edit file datei2
repo $ git commit -am 'Böse umbenennen'
[main e768993] B?se umbenennen
2 files changed, 1 insertion(+), 12 deletions(-)
delete mode 100644 datei1
create mode 100644 datei2
repo $ git log --follow --oneline -- datei2
e768993 B?se umbenennen