Test mit einem nicht-nackten (non-bare) Repository
In diesem Schritt werden wir ein nacktes (bare) Repository erstellen und dann die Befehle git rev-parse --is-bare-repository
und git rev-parse --is-inside-work-tree
darin ausführen, um den Unterschied in der Ausgabe im Vergleich zu unserem nicht-nackten Repository zu beobachten.
Zunächst wechseln wir zurück in das Verzeichnis ~/project
:
cd ~/project
Jetzt erstellen wir ein neues Verzeichnis für unser nacktes Repository und initialisieren es als nacktes Repository:
mkdir my-bare-repo.git
cd my-bare-repo.git
git init --bare
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Initialized empty Git repository in /home/labex/project/my-bare-repo.git/
Beachten Sie die .git
-Erweiterung im Verzeichnisnamen. Dies ist eine gängige Konvention für nackte Repositories. Die Option --bare
teilt Git mit, ein Repository ohne Arbeitsverzeichnis zu erstellen.
Da wir uns jetzt im Verzeichnis my-bare-repo.git
befinden, führen wir den Befehl git rev-parse --is-bare-repository
aus:
git rev-parse --is-bare-repository
Diesmal sollten Sie die Ausgabe sehen:
true
Dies bestätigt, dass dieses Repository tatsächlich nackt ist.
Als Nächstes führen wir den Befehl git rev-parse --is-inside-work-tree
in diesem nackten Repository aus:
git rev-parse --is-inside-work-tree
Es sollte keine Ausgabe erscheinen. Dies liegt daran, dass ein nacktes Repository kein Arbeitsverzeichnis (working tree) hat, sodass der Befehl false
zurückgibt (was in keiner Ausgabe resultiert).
Der Vergleich der Ausgaben aus diesem Schritt und den vorherigen Schritten verdeutlicht den wesentlichen Unterschied zwischen nackten und nicht-nackten Repositories. Nackte Repositories dienen zum Teilen und zur Zusammenarbeit, während nicht-nackte Repositories für die Entwicklung mit einer Arbeitskopie der Dateien verwendet werden.
Sie haben nun erfolgreich git rev-parse
verwendet, um zwischen nackten und nicht-nackten Repositories zu unterscheiden. Dies ist ein grundlegendes Konzept, wenn Sie mit Git arbeiten, insbesondere in Teamumgebungen.