2017-01-17 5 views
1

Ich arbeite in Meisterbranche. Und ich habe versucht, ein Tag dafür zu erstellen. Ich habe Änderungen an den Dateien vorgenommen. Danach habe ich diese Befehlszeile verwendet:Wie fügt man nach einem Push Commit ein Tag hinzu?

git tag -a <tag_name> -m "tag information and commit message" 

Dies schien zu funktionieren. Früher habe ich:

git describe --tags 

zeigen, welche Tag verwendet wird, und es zeigte die richtige

Dann habe ich meine TortoiseGit Änderungen zu übernehmen, zog ich und schob und die Tag-Markierungen wurden geprüft. Aber als ich mir das Bitbucket-Repo anschaute, wurde der Commit an die Master-Filiale geschrieben. Das Tag wurde nicht übergeben.

Gibt es eine Möglichkeit, das Tag hinterher (lokal und remote) zu diesem Commit hinzuzufügen? Ich konnte noch nichts finden. Was wäre das übliche Verfahren, um Änderungen unter einem Tag zu committen?

Antwort

3

Stellen Sie sicher, dass Sie Ihre Tags an die Fernbedienung übertragen.

$ git push --tags 
+0

Ja, tatsächlich. Danke! Ich dachte, Schildkrötengit würde sich darum kümmern, da die Tag-Checkboxen überprüft wurden, aber das nicht. Die Tag-Unterstützung und Dokumentation für die Verwendung von Tags in Tortoise Git ist nicht so gut ... – user2718671

+0

Ich habe es updated, aber da es eine unvollständige Antwort ist, werde ich es nicht akzeptieren. Für mein Problem habe ich eine Antwort geschrieben, die genau das tut, was ich brauche. Und bis jetzt ist es die beste Antwort auf das spezifische Problem. – user2718671

0

fand ich eine Arbeitslösung:

git tag -a <tag_name> <beginning of the commit hash shown in bitbucket> -m "a commit message" 
git push --tags 

ich ursprünglich einen anderen Tag verwendet dann. Aber wenn Sie das gleiche verwenden möchten, müssen Sie es löschen zuerst: Lokal mit:

git tag -d <tag name> 

remote:

git push --delete origin <tag name> 
2

$> git push --tags Verwendung wird Push/Transformation alle Tags zu Remote-Server.

Wenn Sie nur ein bestimmtes Tag pushen möchten (weil Sie noch keine Entscheidung für andere Tags getroffen haben, wenn Sie sie verschieben, werden sie möglicherweise später aktualisiert oder entfernt oder Sie möchten sie nicht teilen mit anderen jetzt) können Sie verwenden:

$> git push origin <tag_name> 
+0

Danke! Meine Antwort oben hat den Job schon erledigt. Aber in Zukunft werde ich versuchen, am Anfang richtig zu drücken – user2718671

2

erstellen Tag und schieben Sie es

  1. öffnen TortoiseGitLog Message Dialog
  2. Rechtsklick auf den verpflichten Sie markieren möchten, und klicken Sie auf Create Tag at this version...
    enter image description here
  3. Datei die Tag name und Message, so etwas wie:
    enter image description here
    Dann haben Sie diesen Tag auf lokale
  4. Zurück zu Log Message Dialog, klicken Sie mit der rechten Maustaste auf dieses Tag-Etikett, klicken Sie auf Push "tag_name"...enter image description here
  5. Push Dialog zeigt, überprüfen Sie alle Optionen sind gut zu gehen, dann drückt OK Taste
    enter image description here
    Dann haben Sie den Tag auf entfernten

Verwenden Sync Dialog-Tags zwischen dem lokalen zu vergleichen und Fern

Wenn Sie einige Tags nicht drücken können, versuchen Sie Compare tags zu verwenden.

  1. Rechtsklick auf Git Repository, und klicken Sie auf Git Sync...
    enter image description here
  2. Verwenden Sie die Compare tags Funktion finden Sie unter:
    enter image description here
  3. Wenn bereits die gleiche Namensschild auf der Fernbedienung, könnte es zeigt: (. HINWEIS: dies ist nur ein Fall von allen)
    enter image description here
    Zunächst einmal haben Sie die Tatsache wissen, dass: -Tag verweist ence zeigt auf ein Tag Objekt und Tag Objekt zeigt auf eine commit Objekt, wenn Sie ^{} sehen.
    Also, wie Sie sehen können, Tag-Objekttag_name^{} Punkte zu commit 0bd2bfa sowohl auf lokaler und Remote.
    Aber die Tag Referenztag_name Punkte auf verschiedenen tag Objekte
    Die lokalen Tag Referenztag_name Punkte auf d443bd1, die ein Objekt Tag Referenztag_name Punkte auf f6c05b7 ist die
    Die Fern Tag ist ein weiteres Tag Objekt.
  4. Wenn Sie sicher sind, das Etikett auf der Fernbedienung falsch ist, können Sie es aus Sync Dialog
    enter image description here
  5. löschen können, dann können Sie lokale ein Push-Fernbedienung aus Sync Dialog:
    enter image description here
  6. Jetzt ist es identisch
    enter image description here
Verwandte Themen