Git-tag forklaret: Sådan listes, oprettes, fjernes og vises tags i Git

Mærkning lader udviklere markere vigtige kontrolpunkter i løbet af deres projekters udvikling. F.eks. Kan softwareudgivelsesversioner tagges. (Eks: v1.3.2) Det giver dig i det væsentlige mulighed for at give en kommission et specielt navn (tag).

Sådan får du vist alle de oprettede tags i alfabetisk rækkefølge:

git tag

For at få mere information om et tag:

git show v1.4

Der er to typer tags:

Kommenteret

git tag -a v1.2 -m "my version 1.4"

Letvægts

git tag v1.2

De adskiller sig i den måde, de opbevares på.

Disse opretter tags på din nuværende forpligtelse.

I tilfælde af at du gerne vil tagge en tidligere forpligtelse, skal du specificere det forpligtelses-id, du vil tagge:

git tag -a v1.2 9fceb02

Mærkernes navne kan bruges i stedet for forpligtelses-id'er, mens du tjekker ud og skubber forpligtelser til en ekstern repo.

Mere information:

  • Git-dokumentation: Dokumentation
  • Git Tagging Kapitel: Bog

Du kan liste alle tilgængelige tags i et projekt med git tagkommandoen (angiv, at de vises i alfabetisk rækkefølge):

$ git tag v1.0 v2.0 v3.0

Denne måde at liste tags på er fantastisk til små projekter, men større projekter kan have hundredvis af tags, så det kan være nødvendigt at filtrere dem, når du søger efter et vigtigt punkt i historien. Du kan finde tags, der indeholder specifikke tegn, der føjer en -ltil git tagkommandoen:

$ git tag -l "v2.0*" v2.0.1 v2.0.2 v2.0.3 v2.0.4

Opret et tag

Du kan oprette to typer tags: kommenterede og lette. De første konkurrerer objekter i GIT-databasen: de kontrolleres, rekvirerer en besked (som begår) og gemmer andre vigtige data såsom navn, e-mail og dato. På den anden side kræver letvægtsmærker ikke en meddelelse eller gemmer andre data, der fungerer lige som en markør til et bestemt punkt i projektet.

Opret et kommenteret tag

For at oprette en Annoteret tag, tilføje -a tagname -m "tag message"til git tagkommando:

$ git tag -a v4.0 -m "release version 4.0" $ git tag v1.0 v2.0 v3.0 v4.0

Som du kan se, -aangiver det, at du opretter et kommenteret tag, derefter kommer tagnavnet og til sidst -mefterfulgt af tagbeskeden, der skal gemmes i Git-databasen.

Opret et letvægtsmærke

Letvægtsmærker indeholder kun kontrolsummen (ingen andre oplysninger gemmes). For at oprette en skal du bare køre git tagkommandoen uden andre indstillinger (tegnene -lw i slutningen af ​​navnet bruges til at angive lette tags, men du kan markere dem som du vil):

$ git tag v4.1-lw $ git tag v1.0 v2.0 v3.0 v4.0 v4.1-lw

Denne gang specificerede du ikke en besked eller andre relevante data, så tagget indeholder kun den henviste forpligtelses kontrolsum.

Se tagets data

Du kan køre git showkommandoen for at se de data, der er gemt i et tag. I tilfælde af annoterede tags vil du se tagdataene og forpligtelsesdataene:

$ git show v4.0 tag v4.0 Tagger: John Cash  Date: Mon Sat 28 15:00:25 2017 -0700 release version 4.0 commit da43a5fss745av88d47839247990022a98419093 Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Hvis det mærke, du ser, er et letvægtsmærke, kan du kun se de henviste forpligtelsesdata:

$ git show v1.4-lw commit da43a5f7389adcb9201ab0a289c389ed022a910b Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Mærkning af gamle forpligtelser

Du kan også tagge tidligere forpligtelser ved hjælp af git-tag-commit. For at gøre dette skal du angive forpligtelsens kontrolsum (eller i det mindste en del af det) i kommandolinjen.

Kør først git-log for at finde ud af den krævede forpligtelses kontrolsum:

$ git log --pretty=oneline ac2998acf289102dba00823821bee04276aad9ca added products section d09034bdea0097726fd8383c0393faa0072829a7 refactorization a029ac120245ab012bed1ca771349eb9cca01c0b modified styles da43a5f7389adcb9201ab0a289c389ed022a910b finished details 0adb03ca013901c1e02174924486a08cea9293a2 small fix in search textarea styles

Når du har den nødvendige kontrolsum, skal du tilføje den i slutningen af ​​linjen til oprettelse af tag:

$ git tag -a v3.5 a029ac

Du vil se, at tagget blev tilføjet korrekt kørende git tag:

$ git tag v1.0 v2.0 v3.0 v3.5 v4.0 v4.1-lw

Push tags

Git skubber ikke tags som standard, når du kører kommandoen git push. Så for at skubbe et tag til en server med succes skal du git push originkommandere:

$ git push origin v4.0 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 3.15 KiB | 0 bytes/s, done. Total 18 (delta 4), reused 0 (delta 0) To [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0

Du kan også bruge --tagsmuligheden for at tilføje flere tags på én gang med git push originkommandoen:

$ git push origin --tags Counting objects: 1, done. Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) To [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0 * [new tag] v4.1-lw -> v4.1-lw

Tjekker tags

Du kan bruge git checkouttil at tjekke til et tag, som du normalt ville gøre. Men du skal huske på, at dette ville resultere i en løsrevet HEAD- tilstand.

$ git checkout v0.0.3 Note: checking out 'v0.0.3'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

Sletning af et tag

Du kan muligvis finde en situation, hvor du vil slette et bestemt tag. Der er en meget nyttig kommando til disse situationer:

$ git tag --delete v0.0.2 $ git tag v0.0.1 v0.0.3 v0.0.4

Mere information

  • Git Pro - Grundlæggende mærkning
  • Git Pro - Dokumentation
  • Git HowTo
  • Git tip: Tags
  • Oprettelse af et tag

Kilder

Git-dokumentation: tags