Ausführen von git log --follow -- Datei
In diesem Schritt werden wir untersuchen, wie man die Historie einer bestimmten Datei verfolgen kann, auch wenn sie umbenannt wurde. Hier kommt der Befehl git log --follow
zum Einsatz.
Zunächst stellen wir sicher, dass wir uns im Projektverzeichnis befinden.
cd ~/project/my-time-machine
Jetzt erstellen wir eine neue Datei und fügen etwas Inhalt hinzu.
echo "This is the original content." > original_file.txt
Fügen Sie diese Datei hinzu und committen Sie sie.
git add original_file.txt
git commit -m "Add original file"
Sie sollten eine Ausgabe ähnlich dieser sehen:
[master 1a2b3c4] Add original file
1 file changed, 1 insertion(+)
create mode 100644 original_file.txt
Jetzt benennen wir die Datei um.
git mv original_file.txt renamed_file.txt
Prüfen Sie den Status, um die Änderung zu sehen.
git status
Sie sollten etwas wie Folgendes sehen:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: original_file.txt -> renamed_file.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
message.txt
Committen Sie die Umbenennung.
git commit -m "Rename original file"
Sie sollten eine Ausgabe ähnlich dieser sehen:
[master 5d6e7f8] Rename original file
1 file changed, 0 insertions(+), 0 deletions(-)
rename original_file.txt -> renamed_file.txt (100%)
Jetzt verwenden wir git log
, um die Historie der umbenannten Datei anzuzeigen.
git log renamed_file.txt
Dies zeigt nur den Commit an, in dem die Datei umbenannt wurde. Um die Historie vor der Umbenennung zu sehen, müssen wir die Option --follow
verwenden.
git log --follow renamed_file.txt
Dieser Befehl zeigt Ihnen die Historie der Datei, wobei Namensänderungen berücksichtigt werden. Sie sollten sowohl den Commit "Rename original file" als auch den Commit "Add original file" sehen.
Der Befehl git log --follow
ist unerlässlich, wenn Sie die vollständige Historie einer Datei verstehen müssen, die in Ihrem Repository verschoben oder umbenannt wurde. Er hilft Ihnen, die Entwicklung der Datei über verschiedene Commits hinweg nachzuverfolgen, unabhängig von ihrem aktuellen Namen.