Übung - Repository - Log
Das Log repräsentiert die Geschichte des Projekts als Folge von Commits. Jedes Commit repräsentiert einen Stand aller Dateien des Projekts. Hier wird geübt, das Log zu Untersuchen und zu Lesen.
Tipps
git log
zeigt alles Commits, die im aktuellen Branch enthalten sind.--oneline
macht die Ausgabe kompakter.--stat
zeigt wie viele Dateien in welcher Date geändert wurden.
git show <some-commit>
zeigt Details zu einem Commit- Mit
~
Adressiert man Vorgänger eines Commits, z. B. istHEAD~2
der Vorvorgänger vonHEAD
. git ls-tree -r <commit>
listet alles Dateien auf, die im angegebenen Commit versioniert sind.- Mit
blame
findet man heraus,in welchen Commit Zeilen zuletzt bearbeitet wurden.-M
ermittelt Verschiebungen innerhalb einer Datei.-w
erkennt Zeilen wieder, auch wenn Whitespacing verändert wurde.--show-number
zeigt vorherige Zeilennummern.-C
ermittelt Kopien/Verschiebungen aus Dateien im selben Commit, in dem die Zeile bearbeitet wurde,-C -C -C
sogar aus beliebigen Dateien.
Setup
Im Verzeichnis repo
wartet ein Git-Projekt darauf, untersucht zu werden.
$ cd repo
Schritt 1 - Verzeichnisstruktur
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Untersuche das Projektverzeichnis. Welche Dateien gibt es im Workspace? Welche Verzeichnisse? Wo liegt das Repository?
Schritt 2 - Commits ansehen
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Sieh Dir die Commits. Achte dabei auf die angezeigten Branches und Tags.
Schritt 3 - Head-Commit untersuchen
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Zeige Details zur aktuellen Version, die im Workspace ausgecheckt ist.
Schritt 4 - Vergangene Commits untersuchen
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Zeige Details zum Release1.0, und dann zur Vorgängerversion des Releases 1.0
Schritt 5 - ⭐ Inhalte vergangener Versionen untersuchen
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Lasse Dir anzeigen welche Dateien und Verzeichnisse es im vorigen Commit gab.
Gebe den Inhalt der Datei bar
so aus, wie er im vorigen Commit war.
Schritt 6 - ⭐ Commits ansehen: Datei-Statistik
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Sieh Dir die Commits an. Lase dir dabei die Statistik anzeigen, d.h. wie viele Zeilen in welcher Datei geändert wurden.
Schritt 7 - ⭐ Herkunft von Zeilen ermitteln
Starte im Verzeichnis git-uebungen/aufgaben/repository-log/repo
.
Es geht darum für die Datei nachher
Folgendes zu ermitteln:
- Für jede Zeile zeigen, in welchem Commit sie zuletzt bearbeitet wurde.
- Innerhalb der Datei wurden Zeilen verschoben. Welche?
- Es wurden auch Zeilen aus anderen Dateien verschoben und kopiert. Welche?
repo $ cd ..