Seit ich mein Repository erstellt habe, werden die von mir erstellten Tags anscheinend nicht in das Repository verschoben. Wenn ich mich git tag
im lokalen Verzeichnis befinde, sind alle Tags vorhanden, aber wenn ich mich beim Remote-Repository anmelde und a mache git tag
, werden nur die ersten angezeigt.
Was könnte das Problem sein?
git push --follow-tags
kann jetzt nützlich sein, siehe meine Antwort untenAntworten:
Sie könnten dies tun:
quelle
git push --tags
da es sehr, sehr schwierig sein kann, schlechte Tags loszuwerden, wenn Ihre Mitarbeiter darin geschult sind, alle Tags zu pushen, da die Leute weiterhin jedes Mal die alten schlechten Tags pushen, die sie lokal haben Ich möchte einen neuen Tag pushen. Aus diesem Grund werde ich nur jedem raten, ihngit push origin <tag_name>
jetzt zu verwenden . " - kopiert von stackoverflow.com/a/5195913/4130619In der Standardkonfiguration von git remote müssen Sie Tags explizit pushen (während sie automatisch zusammen mit Commits abgerufen werden, auf die sie verweisen). Sie müssen verwenden
um ein einzelnes Tag zu pushen, oder
um alle Tags zu pushen (oder
git push --tags
um normalerweise auf die Standardfernbedienung zu pushenorigin
).Dies ist ein sehr beabsichtigtes Verhalten, um Push-Tags explizit zu machen. Das Schieben von Tags sollte normalerweise eine bewusste Wahl sein.
Zusammenfassend, was Junio C. Hamano geschrieben hat (verlinkt in Kommentaren von @Andre Miras)
Aus diesem Grund
git fetch
"folgt" Tags automatisch Tags, dh es werden Tags heruntergeladen, wenn Revisionen heruntergeladen werden, auf die sie verweisen - mit anderen Worten, alle relevanten veröffentlichten Tags werden heruntergeladen .Aus diesem Grund müssen Sie das Tag explizit drücken, um das Tag als öffentlich zu markieren.
Alternativ können Sie die Konfiguration Remote drücken Sie immer alle Tags zu schieben, zB Put etwas wie das in Ihrer
.git/config
:Dies bedeutet , dass alle Köpfe (alle Zweige) und alle Tags erzwungen werden müssen (wenn Sie nicht möchten, dass die Köpfe erzwungen werden, entfernen Sie das Präfix '+' aus refspec).
quelle
Beachten Sie, dass Sie seit Git 1.8.3 (22. April 2013) nicht mehr zwei Befehle ausführen müssen, um Zweige und dann Tags zu verschieben:
Sie können jetzt versuchen, wenn Sie neue Commits pushen:
Dadurch werden jedoch nicht alle lokalen Tags gepusht, sondern nur die mit Anmerkungen versehenen Tags, auf die durch Commits verwiesen wird, die mit dem gepusht werden
git push
.Dies wurde in Commit c2aba15 von Junio C Hamano (
gitster
) eingeführt :Die Konfiguration
push.followTags
erlaubt--follow-tags
standardmäßig das Einschließen (Git 2.4.1+, Q2 2015). Siehe " Push-Git-Commits und -Tags gleichzeitig ".quelle
git push --follow-tags
nicht mehr alsgit push
Was ich normalerweise mache ist:
Das heißt, es werden alle bereits vorhandenen Zweige sowie Tags gepusht. Es erzwingt kein Drücken und es drückt keinen Zweig, den Sie nicht manuell gedrückt haben.
quelle
Wenn Sie das Abrufen aller Tags erzwingen möchten, können Sie dies in der Konfiguration festlegen, indem Sie:
Aus den Dokumenten:
quelle