Testen von taglosen Remotes
In den vorherigen Schritten haben wir gelernt, wie man Tags aus einem entfernten Repository auflistet und abruft. Allerdings haben nicht alle entfernten Repositories Tags. In diesem Schritt werden wir git ls-remote --tags
auf einem Repository testen, das wahrscheinlich keine Tags hat.
Wir verwenden ein einfaches, neu initialisiertes Git-Repository, das auf einem lokalen Pfad gehostet wird. Dies simuliert ein entferntes Repository, in dem noch keine Tags erstellt wurden.
Zunächst erstellen wir ein neues Verzeichnis und initialisieren darin ein Git-Repository. Wir tun dies außerhalb unseres aktuellen my-tag-project
-Verzeichnisses, um ein separates entferntes Repository zu simulieren.
cd ~/project
mkdir remote-repo
cd remote-repo
git init --bare
Der Befehl git init --bare
erstellt ein "nacktes" (bare) Git-Repository. Ein nacktes Repository hat kein Arbeitsverzeichnis; es wird typischerweise als zentrales Repository verwendet, auf das Entwickler pushen und von dem sie pullen.
Jetzt kehren wir in unser my-tag-project
-Verzeichnis zurück:
cd ~/project/my-tag-project
Von hier aus können wir git ls-remote --tags
verwenden, um nach Tags in unserem neu erstellten "entfernten" Repository zu suchen. Wir verwenden den lokalen Pfad zum nackten Repository als Remote-URL:
git ls-remote --tags ~/project/remote-repo
Da wir dieses Repository gerade initialisiert haben und noch keine Commits oder Tags hinzugefügt haben, sollte dieser Befehl keine Ausgabe liefern. Dies zeigt an, dass es keine Tags im angegebenen entfernten Repository gibt.
Dies zeigt, dass git ls-remote --tags
korrekt nichts anzeigt, wenn ein entferntes Repository keine Tags enthält. Dies ist nützlich, um das Fehlen von Tags zu bestätigen oder für Skripte, bei denen Sie Repositories mit oder ohne Tags verarbeiten müssen.
Sie haben nun das Auflisten von Tags sowohl aus einem Repository mit vielen Tags als auch aus einem Repository ohne Tags geübt. Dies gibt Ihnen ein besseres Verständnis davon, wie git ls-remote --tags
in verschiedenen Szenarien verhält.