Erstellen Sie ein Tag in einem GitHub-Repository

910

Ich habe ein Repository in GitHub und muss es markieren .
Ich habe in einer Shell getaggt, aber auf GitHub wird es nicht angezeigt.

Muss ich noch etwas tun

Der Befehl, den ich in der Shell verwendet habe, lautet:

git tag 2.0

Und jetzt, wenn ich tippe git tag, zeigt es:

2.0

Es scheint also, dass Tags vorhanden sind, richtig?

Das Repository lautet: https://github.com/keevitaja/myseo-pyrocms .

Wie kann ich dieses Tag auf GitHub anzeigen lassen? Wo sind meine Tags?

Tanel Tammik
quelle
2
Sie müssen das Tag in das Repository verschieben. Die Verwendung von Git-Tags entspricht der Verwendung von Git-Verzweigungen. Dies bedeutet, dass Sie ein Tag erstellen / hinzufügen und das Tag in das Repository verschieben müssen, damit jeder es abrufen kann. Für einfachere bis fortgeschrittene, hier ist die Referenz abhisheksharma.online/git-tags
Abhishek Sharma

Antworten:

1497

Sie können Tags für GitHub erstellen, indem Sie entweder Folgendes verwenden:

  • die Git-Befehlszeile oder
  • GitHubs Weboberfläche.

Tags über die Befehlszeile erstellen

Führen Sie Folgendes aus, um ein Tag in Ihrem aktuellen Zweig zu erstellen:

git tag <tagname>

Wenn Sie Ihrem Tag eine Beschreibung hinzufügen möchten, fügen Sie hinzu -a, um ein mit Anmerkungen versehenes Tag zu erstellen :

git tag <tagname> -a

Dadurch wird ein localTag mit dem aktuellen Status des Zweigs erstellt, in dem Sie sich befinden. Beim Pushing auf Ihr Remote-Repo sind Tags standardmäßig NICHT enthalten. Sie müssen ausdrücklich angeben, dass Sie Ihre Tags auf Ihr Remote-Repo übertragen möchten:

git push origin --tags

Aus der offiziellen Linux Kernel Git Dokumentation fürgit push :

--tags

Alle Refs unter Refs / Tags werden zusätzlich zu den in der Befehlszeile explizit aufgeführten Refspecs gepusht.

Oder wenn Sie nur ein einzelnes Tag verschieben möchten:

git push origin <tag>

Siehe auch meine Antwort auf Wie wird ein Tag mit Git in ein Remote-Repository verschoben? Weitere Details zu dieser Syntax finden Sie oben.

Erstellen von Tags über die Weboberfläche von GitHub

Die entsprechenden Anweisungen von GitHub finden Sie auf der Hilfeseite zum Erstellen von Releases . Hier ist eine Zusammenfassung:

  1. Klicken Sie auf unserer Repository-Seite auf den Link Releases.

    Screenshot 1

  2. Klicken Sie auf Neue Version erstellen oder Neue Version entwerfen .

    Screenshot 2

  3. Füllen Sie die Formularfelder aus und klicken Sie unten auf Release veröffentlichen.

    Screenshot 3 Screenshot 4

  4. Nachdem Sie Ihr Tag auf GitHub erstellt haben, möchten Sie es möglicherweise auch in Ihr lokales Repository abrufen:

    git fetch
    

Beim nächsten Mal möchten Sie möglicherweise ein weiteres Tag innerhalb derselben Version von der Website erstellen. Gehen Sie dazu folgendermaßen vor:

Gehen Sie zur Registerkarte Freigabe

  1. Klicken Sie auf die Schaltfläche Bearbeiten für die Veröffentlichung

  2. Geben Sie den Namen des neuen Tags ABC_DEF_V_5_3_T_2 ein und klicken Sie auf die Registerkarte

  3. Nach dem Drücken der Registerkarte zeigt die Benutzeroberfläche die folgende Meldung an: Ausgezeichnet! Dieses Tag wird aus dem Ziel erstellt, wenn Sie diese Version veröffentlichen. Die Benutzeroberfläche bietet auch eine Option zur Auswahl des Zweigs / Commits

  4. Zweig auswählen oder festschreiben

  5. Aktivieren Sie das Kontrollkästchen "Dies ist eine Vorabversion" für das qa-Tag und deaktivieren Sie es, wenn das Tag für das Prod-Tag erstellt wurde.

  6. Danach klicken Sie auf "Update Release"

  7. Dadurch wird ein neues Tag in der vorhandenen Version erstellt.

milso
quelle
8
@RandomDSdevel in Github, Release ist nur ein Tag. Sie können ein Tag über die Befehlszeile erstellen und an github remote senden. Das Tag wird als Veröffentlichung auf der Githubs-Webseite angezeigt.
Iuri G.
6
@IuriG.: Ja, aber sollten Sie nicht in der Lage sein, Tags zu erstellen, die von GitHub nicht automatisch als Veröffentlichungen aufgenommen werden? (Damals, als ich ursprünglich den Kommentar erstellt habe, auf den Sie geantwortet haben und auf dessen Antwort dieser eine Antwort ist, wurden Tags zumindest verwendet , um automatisch in Releases umgewandelt zu werden, obwohl ich nicht weiß, ob dies immer noch der Fall ist oder nicht & thinsp; Ich habe vor einiger Zeit eine Support-Anfrage an GitHub
gesendet
Fwiw, für den Pfad der Github-Weboberfläche kann ich keine Schaltfläche zum Erstellen oder Entwerfen einer neuen Version sehen, nachdem ich in Schritt 1 auf den Link für Veröffentlichungen geklickt habe.
Snowcrash
2
Über die Github-Oberfläche können Sie nur Lightweight-Tags erstellen.
Anatolii Stepaniuk
2
Leider können Sie auf der Github-Oberfläche ein Commit nur dann markieren, wenn es in den letzten 24 Stunden oder den letzten 10 (? Oder so?) Commits stattgefunden hat.
Tsalaroth
86

Tags erstellen

Git verwendet zwei Haupttypen von Tags: Lightweight und Annotated .

Kommentierte Tags :

Um ein mit Anmerkungen versehenes Tag in Git zu erstellen, können Sie einfach die folgenden einfachen Befehle auf Ihrem Terminal ausführen.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

Das -m kennzeichnet eine Nachricht für dieses bestimmte Tag. Wir können eine Zusammenfassung der Funktionen schreiben, die hier markiert werden.

Leichte Tags :

Die andere Möglichkeit, Commits zu markieren, ist ein leichtes Tag. Wir können es folgendermaßen tun:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

Tag drücken

Um ein bestimmtes Tag zu pushen, können Sie den folgenden Befehl verwenden:

git push origin v1.0.3

Oder wenn Sie alle Tags pushen möchten, verwenden Sie den folgenden Befehl:

git push --tags

Alle Tags auflisten :

Verwenden Sie den folgenden Befehl, um alle Tags aufzulisten.

git tag
Lawakush Kurmi
quelle
Fügen Sie das Tag VOR oder nach dem hinzu git commit?
Garfbradaz
Ich habe Tag nach Git Commit hinzugefügt.
Lawakush Kurmi
65

Sie müssen nur das Tag drücken, nachdem Sie den git tag 2.0Befehl ausgeführt haben.

Also mach es einfach git push --tagsjetzt.

kjdion84
quelle
40
Ich würde eher vorschlagen, git push v2.0statt zu verwenden --tags, es könnte andere Tags geben, die nicht gepusht werden sollten.
Tschoppi
1
Dies ist nur dann ein Problem, wenn sich Ihre lokalen Tags von Ihren Remote-Tags unterscheiden. Sie sind einfach zu synchronisieren, falls dies jemals zu einem Problem wird.
kjdion84
1
@ kjdion84 Nein, das ist auch ein Problem, wenn veraltete Tags vorhanden sind: Alle Tags werden immer abgerufen, und wenn jemand sie verwendet --tags, ist es schwierig, sie loszuwerden.
Maaartinus
2
odergit push origin v2.0
beten Sie
Ich habe den Fehler gemacht, Tags zu verwenden!
User3
9

VORSICHT: Im Befehl in Lawakush Kurmis Antwort ( git tag -a v1.0) wird die -aFlagge verwendet. Dieses Flag weist Git an, ein mit Anmerkungen versehenes Flag zu erstellen. Wenn Sie das Flag ( i.e. git tag v1.0) nicht angeben, wird ein sogenanntes Lightweight-Tag erstellt.


Kommentierte Tags werden empfohlen, da sie viele zusätzliche Informationen enthalten, wie z.

  • die Person, die das Tag gemacht hat
  • das Datum, an dem das Tag erstellt wurde
  • eine Nachricht für das Tag

Aus diesem Grund sollten Sie immer mit Anmerkungen versehene Tags verwenden.

Sylvernus Akubo
quelle
3

Es hängt alles davon ab, welche Art von Tag Sie erstellen möchten:

  • Wenn Sie mit Anmerkungen versehene Tags erstellen möchten, um zusätzliche Metadaten anzuzeigen, können Sie dies folgendermaßen tun : git tag -a v1.0.0.
  • Auf der anderen Seite werden Lightweight-Tags verwendet, um Ihre Commits für den privaten Gebrauch zu "bookmarken" : git tag v1.0.0.

Es gibt einige andere Tag-Funktionen wie:

  • Listing Tags - git tag -l -n3. Der Befehl listet alle vorhandenen Tags mit maximal 3 Zeilen ihrer Tag-Nachricht auf. Standardmäßig zeigt -n nur die erste Zeile an.
  • Tag Details - git show <tag_identifier>. Es zeigt alles, was Sie über ein bestimmtes Tag wissen müssen.
  • Tags sortieren - git tag --sort=<type>
  • Tags veröffentlichen - git push origin v1.0. Sie können git push das Tag einzeln ausführen oder git push --tags ausführen, mit denen alle Tags gleichzeitig gepusht werden.

Weitere relevante Informationen finden Sie in diesem Artikel zum Thema Tags .

Nesha Zoric
quelle
3

Verwenden von Sourcetree

Hier sind die einfachen Schritte zum Erstellen eines GitHub- Tags , wenn Sie den Build vom Master freigeben.

  1. Öffnen Sie die Registerkarte source_tree

    Schritt 1

  2. Klicken Sie mit der rechten Maustaste auf Tag-Abschnitte von Tag, die im linken Navigationsbereich angezeigt werden

    Schritt 2

  3. Klicken Sie auf New Tag ()

  4. Ein Dialogfeld zum Hinzufügen von Tags und Entfernen von Tags wird angezeigt
  5. Klicken Sie auf Tag hinzufügen, um dem Tag einen Namen zu geben (bevorzugter Versionsname des Codes).

    Schritt 3

  6. Wenn Sie das TAG auf der Fernbedienung pushen möchten, während Sie die TAG-Referenz erstellen: Schritt 5, in dem das Kontrollkästchen TAG zum Ursprung drücken aktiviert ist, überprüfen Sie es und das Push- Tag wird im Remote-Repository angezeigt

  7. Falls Sie beim Erstellen des TAG vergessen haben, das Kontrollkästchen Push to origin zu aktivieren , können Sie dies später tun, indem Sie mit der rechten Maustaste auf das erstellte TAG klicken und auf Push to origin klicken . Geben Sie hier die Bildbeschreibung ein

Suresh Maidaragi
quelle
2
In dieser Antwort wird erläutert, wie Sie mit Sourcetree ein lokales Tag erstellen. Bei der Frage geht es jedoch nur darum, wie Sie das Tag in das Remote-Repository (in diesem Fall GitHub) übertragen. Sie sagen dies in Schritt 6, haben aber die Anweisungen dafür weggelassen.
Rory O'Kane
@ RoryO'Kane bitte überprüfen Sie es jetzt Ich habe meine Antwort aktualisiert, Danke für den Hinweis
Suresh Maidaragi