Hoe push je een tag naar een externe repository met Git?

Ik heb een externe Git-repository gekloond naar mijn laptop, en toen wilde ik een tag toevoegen, dus ik rende

git tag mytag master

Als ik git tagop mijn laptop uitvoer, wordt de tag mytaggetoond. Ik wil dit dan naar de externe repository pushen, zodat ik deze tag op al mijn clients heb, dus ik voer git pushuit, maar ik kreeg het bericht:

Alles up-to-date

En als ik naar mijn bureaublad ga en git pulluitvoer en dan git tagworden er geen tags getoond.

Ik heb ook geprobeerd een kleine wijziging aan een bestand in het project aan te brengen en het vervolgens naar de server te pushen. Daarna kon ik de wijziging van de server naar mijn desktopcomputer trekken, maar er is nog steeds geen tag bij het uitvoeren van git tagop mijn desktopcomputer.

Hoe kan ik mijn tag naar de externe repository pushen zodat alle clientcomputers deze kunnen zien?


Antwoord 1, autoriteit 100%

Een enkeletag pushen:

git push origin <tag_name>

En het volgende commando zou alletags moeten pushen (niet aanbevolen):

# not recommended
git push --tags

Antwoord 2, autoriteit 33%

git push --follow-tags

Dit is een verstandige optie geïntroduceerd in Git 1.8.3:

git push --follow-tags

Het pusht zowel commits als alleen tags die beide zijn:

  • geannoteerd
  • bereikbaar (een voorouder) van de gepushte commits

Dit is logisch omdat:

Het is om die redenen dat --tagsmoet worden vermeden

Git 2.4 heeft toegevoegd de push.followTagsoptie om die vlag schakelen standaard die u kunt instellen met:

git config --global push.followTags true

of door toevoeging followTags = truenaar [push]van de ~/.gitconfig.


Antwoord 3, Autoriteit 7%

Om push specifieke, een tag je het volgende doen
git push origin tag_name


Antwoord 4, Autoriteit 3%

Uit te breiden op Trevor’s antwoord , kunt u een enkele tag of alle duw je
labels in een keer.

Schuif een Single Tag

git push <remote> <tag>

Dit is een samenvatting van de relevante documentatie dat verklaart dit (sommige
commando-opties weggelaten voor beknoptheid):

git push [[<repository> [<refspec>…]]
<refspec>...

De opmaak van een <refspec>parameter … bron ref <src>,
gevolgd door een dubbele punt :, gevolgd door de bestemming ref <dst>

<dst>geeft aan welke referentie aan de verre zijde wordt bijgewerkt met deze
push…Als :<dst>wordt weggelaten, wordt dezelfde ref als <src>gebruikt
bijgewerkt…

tag <tag>betekent hetzelfde als refs/tags/<tag>:refs/tags/<tag>.

Duw al uw tags tegelijk

git push --tags <remote>
# Or
git push <remote> --tags

Hier is een samenvatting van de relevante documentatie(sommige commando-opties
kortheidshalve weggelaten):

git push [--all | --mirror | --tags] [<repository> [<refspec>…]]
--tags

Alle refs onder refs/tagsworden gepusht, naast expliciete refspecs
vermeld op de opdrachtregel.


Antwoord 5, autoriteit 2%

Je kunt alle lokale tags pushen met de opdracht git push --tags.

$ git tag                         # see tag lists
$ git push origin <tag-name>      # push a single tag
$ git push --tags                 # push all local tags 

Antwoord 6, autoriteit 2%

Tags worden niet verzonden naar de externe repository door het git push-commando. We moeten deze tags expliciet naar de externe server sturen met behulp van de volgende opdracht:

git push origin <tagname>

We kunnen alle tags tegelijk pushen door het onderstaande commando te gebruiken:

git push origin --tags

Hier zijn enkele bronnen voor volledige details over git-tagging:

http://www.cubearticle.com/articles/more/git/git-tag

http://wptheming.com/2011/04/add-remove-github-tags


Antwoord 7

Je kunt de tags als volgt pushen git push --tags


Antwoord 8

Ik gebruik git push <remote-name> tag <tag-name>om ervoor te zorgen dat ik een tag push. Ik gebruik het als volgt: git push origin tag v1.0.1. Dit patroon is gebaseerd op de documentatie (man git-push):

OPTIONS
   ...
   <refspec>...
       ...
       tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.

Antwoord 9

Hoe kan ik mijn tag naar de externe repository pushen zodat alle clientcomputers deze kunnen zien?

Voer dit uit om mytagnaar je git-oorsprong te pushen (bijvoorbeeld: GitHub of GitLab)

git push origin refs/tags/mytag

Het is beter om de volledige “refspec” te gebruiken zoals hierboven weergegeven (letterlijk refs/tags/mytag) voor het geval mytageigenlijk v1.0.0en is dubbelzinnig (bijv. omdat er een branch is met de naam v1.0.0).


Antwoord 10

Ik heb zoiets als dit gedaan:

git push --tags origin <branch-name> <tag-name>
e.g. : git push --tags origin master v2.0

Antwoord 11

Je kunt ook de beschikbare tools gebruiken om een tag te maken. Een voorbeeld van Git Extensions en Source tree is toegevoegd.

Als u wilt dat de tag naar de vertakking op afstand wordt verplaatst, selecteert u “Tag naar oorsprong pushen” en pusht u uw tag. Dit zal andere ontwikkelaars helpen om een specifieke plek te gebruiken of ernaar te verwijzen, wanneer ze de laatste van de repository te laat hebben.

Open de repository in GitExtension/sourcetree.

  • Selecteer de commit waaraan je een tag wilt toevoegen. Klik met de rechtermuisknop op de vastlegging, je kunt de optie zien om een tag te maken.

GIT-extensie:

Bronboom:

  • Als andere optie kun je Tag maken selecteren in het hoofdmenu.

GIT-extensie:

Bronboom:

  • Deze pop-up wordt geopend, voeg de tagnaam toe en selecteer “push tag to origin”, op basis van uw vereisten. Maar liever.

GIT-extensie:

Bronboom:

Other episodes