Der Ordner setup_precommit
enthält ein Skript zur Einrichtung eines Git-pre-commit
-Hooks sowie eine zugehörige README-Datei. Der Zweck dieses Ordners ist es, sicherzustellen, dass alle Codeeinreichungen in einem Git-Repository vor dem Commit bestimmten Qualitätsstandards entsprechen und dass die Dokumentation der Projektstruktur auf dem neuesten Stand gehalten wird.
Das Hauptskript setup_pre_commit.sh
dient dazu, einen pre-commit
-Hook im Git-Repository zu konfigurieren. Dieser Hook wird vor jedem Commit automatisch ausgeführt und führt folgende Aufgaben aus:
- Codeformatierung: Durch den Aufruf von
make format
wird sichergestellt, dass alle Quellcodedateien gemäß den im Projekt festgelegten Stilregeln formatiert sind. - Aktualisierung der
README.md
: Der Aufruf vonmake update_readme
stellt sicher, dass der Abschnitt zur Projektstruktur in derREADME.md
basierend auf der neuesten Struktur des Projekts aktualisiert wird. - Staging der aktualisierten
README.md
: Die Änderungen an derREADME.md
werden automatisch für den Commit vorbereitet.
- Eine gültige
Makefile
im Hauptverzeichnis des Repositories mit den Zielen:format
: Zur Gewährleistung der Codeformatierung.update_readme
: Zur Aktualisierung der Projektstruktur in derREADME.md
.
- Git muss im Repository initialisiert sein (
git init
).
Um das Skript zu verwenden, folgen Sie diesen Schritten:
- Speicherung des Skripts: Speichern Sie
setup_pre_commit.sh
im Verzeichnisscripts/setupprecommit/
Ihres Repositories. - Ausführbarkeitsrechte setzen: Führen Sie den Befehl
chmod +x scripts/setupprecommit/setup_pre_commit.sh
aus, um das Skript ausführbar zu machen. - Skript ausführen: Führen Sie das Skript mit
scripts/setupprecommit/setup_pre_commit.sh
aus, um denpre-commit
-Hook einzurichten. - Überprüfung des Hooks: Überprüfen Sie, ob der
pre-commit
-Hook in.git/hooks/
vorhanden ist, indem Siels .git/hooks/pre-commit
ausführen.
Das Skript setup_pre_commit.sh
besteht aus mehreren Schritten:
- Es wechselt in das Hauptverzeichnis des Git-Repositories.
- Es überprüft, ob ein
.git
-Verzeichnis existiert, um sicherzustellen, dass das Skript im Root-Verzeichnis des Repositories ausgeführt wird. - Der
pre-commit
-Hook wird mit spezifischem Inhalt in die Datei.git/hooks/pre-commit
geschrieben. - Die Ausführbarkeitsrechte für den Hook werden gesetzt, um sicherzustellen, dass Git den Hook ausführen kann.
- Der
pre-commit
-Hook ist lokal auf die Umgebung jedes Entwicklers beschränkt und wird nicht automatisch mit anderen geteilt. Für eine gemeinsame Konfiguration in einem Team wird die Verwendung von Tools wie pre-commit empfohlen. - Sollten bereits andere Funktionen im
pre-commit
-Hook vorhanden sein, überschreibt dieses Skript diese. Es wird empfohlen, die bestehenden Funktionen zu ergänzen, anstatt sie zu überschreiben.