Test mit unveränderten Dateien
In den vorherigen Schritten haben wir gesehen, wie git show --name-only
und git diff-tree -r --name-only
die Dateien anzeigen, die in einem bestimmten Commit geändert wurden. Jetzt schauen wir uns an, was passiert, wenn wir diese Befehle für einen Commit ausführen, in dem keine Dateien geändert wurden (was in unserem Fall mit nur einem Commit nicht der Fall ist, aber wir können das Konzept simulieren).
Da unser aktuelles Repository nur einen Commit hat, in dem eine Datei hinzugefügt wurde, wird die Ausführung dieser Befehle für diesen Commit immer message.txt
anzeigen. Um das Konzept der Anzeige nur geänderter Dateien zu veranschaulichen, stellen wir uns vor, wir hätten einen Commit, in dem keine Dateien geändert wurden (dies passiert normalerweise bei Merge-Commits oder Commits, die nur Metadaten ändern, aber in dieser Übung konzentrieren wir uns auf die Ausgabe, wenn keine Dateien aufgeführt werden).
Wenn Sie git show --name-only
oder git diff-tree -r --name-only
für einen Commit ausführen, in dem keine Dateien geändert wurden, wäre der Teil der Ausgabe, der die Dateinamen enthält, leer.
Lassen Sie uns die Befehle erneut ausführen, die wir gelernt haben, um das Konzept zu festigen. Stellen Sie sicher, dass Sie sich im Verzeichnis my-time-machine
befinden:
cd ~/project/my-time-machine
Führen Sie git show --name-only
erneut aus:
git show --name-only HEAD
Die Ausgabe wird ähnlich wie folgt aussehen:
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
message.txt
Jetzt führen Sie git diff-tree -r --name-only
erneut aus:
git diff-tree -r --name-only HEAD
Die Ausgabe wird sein:
message.txt
Beide Befehle zeigen korrekt message.txt
an, weil diese Datei in diesem Commit hinzugefügt wurde. Der wichtigste Punkt hier ist, dass diese Befehle dazu gedacht sind, nur die Dateien aufzulisten, die in dem angegebenen Commit geändert (hinzugefügt, gelöscht oder modifiziert) wurden. Wenn ein Commit keine Dateien ändert, würden diese Befehle (insbesondere der Teil, der die Dateien auflistet) nichts anzeigen.
Dieses Verhalten ist wichtig, um den Umfang der Änderungen zu verstehen, die durch einen Commit eingeführt wurden. Es hilft Ihnen, schnell zu erkennen, welche Teile Ihres Projekts durch eine bestimmte Änderung betroffen sind.