Testen von leeren Verzeichnissen
In diesem Schritt werden wir untersuchen, wie Git leere Verzeichnisse behandelt. Dies ist ein häufiger Grund für Verwirrung bei Anfängern, da sich Git bei Verzeichnissen anders verhält als bei Dateien.
Zunächst stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine
befinden:
cd ~/project/my-time-machine
Jetzt erstellen wir ein neues, leeres Verzeichnis in unserem Projekt:
mkdir empty-folder
Wir haben das Verzeichnis erstellt. Jetzt überprüfen wir den Status unseres Repositorys mit git status
:
git status
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
On branch master
nothing to commit, working tree clean
Beachten Sie, dass Git empty-folder
nicht als nicht verfolgtes Verzeichnis meldet. Dies liegt daran, dass Git Dateiinhalte verfolgt, nicht die Verzeichnisse selbst. Ein leeres Verzeichnis hat keinen Inhalt, der verfolgt werden könnte.
Dies ist ein wichtiges Konzept in Git. Wenn Sie ein leeres Verzeichnis in Ihr Repository aufnehmen müssen, ist die übliche Lösung, eine Platzhalterdatei darin zu platzieren. Eine gängige Praxis ist es, eine Datei namens .gitkeep
zu erstellen (obwohl der Name egal ist, es ist nur eine Konvention).
Erstellen wir eine .gitkeep
-Datei in empty-folder
:
touch empty-folder/.gitkeep
Jetzt überprüfen wir erneut den git status
:
git status
Diesmal sollten Sie Folgendes sehen:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
untracked files present (use "git add" to track)
Untracked files:
(use "git add <file>..." to include in what will be committed)
empty-folder/
Jetzt erkennt Git empty-folder/
, weil es eine Datei (.gitkeep
) enthält, die verfolgt werden kann.
Dies zeigt, dass Git die Anwesenheit von Dateien in Verzeichnissen verfolgt, nicht die Verzeichnisse selbst. Um ein Verzeichnis in die Historie Ihres Repositorys aufzunehmen, muss es mindestens eine verfolgte Datei enthalten.