Link Search Menu Expand Document

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 8e6f221] Erste Änderung
1 file changed, 1 insertion(+), 1 deletion(-)

repo $ git show

commit 8e6f221a4064202a3e00c80e811334dc72d1bd39
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 6aa80c5] Zweite Änderung
1 file changed, 1 insertion(+), 1 deletion(-)

Mit der Option -a kann man sich den add-Aufruf sparen:

repo $ git log --oneline

6aa80c5 Zweite Änderung
8e6f221 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 35612a2] 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 7f7a567] 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 submit 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 9ea75ca] 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 a8c7bd8] 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

a8c7bd8 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 2a7ad75] Böse umbenennen
2 files changed, 1 insertion(+), 12 deletions(-)
delete mode 100644 datei1
create mode 100644 datei2

repo $ git log --follow --oneline -- datei2

2a7ad75 Böse umbenennen

Zur Aufgabe

Zum Überblick