Git Oznake
Oznake su jednostavan aspekt Gita i omogućavaju vam da identifikujete određene verzije vašeg koda. Oznaku možete smatrati granom koja se ne menja. Jednom kada je kreirana, ona gubi mogućnost promene istorije commit-ovanja.
Dva tipa Git oznaka
U Gitu postoje dve vrste oznaka: označena i lagana. Oboje će vam omogućiti da se obratite određenom commit-u u repozitorijumu, ali se razlikuju u količini metapodataka koje mogu da uskladište.
Označena oznaka
Označene oznake čuvaju dodatne metapodatke kao što su ime autora, beleške o izdanju, poruka oznake i datum kao puni objekti u Git bazi podataka. Svi ovi podaci su važni za javno objavljivanje vašeg projekta.
Oznake takođe mogu da sadrže opisniju poruku-oznake ili napomenu slično commit poruci kada ćete spojiti. Obično se to postiže korišćenjem (-a
za napomenu):
$ git tag -a v1.0.0
Izvršavanjem ove naredbe stvorićete novu označenu oznaku identifikovanu sa verzijom v1.0.0. Komanda će tada otvoriti vaš uređivač commit-ova tako da možete popuniti metapodatke.
U slučaju da želite da dodate poruku oznake možete proslediti opciju -m
, ovo je metoda slična git commit -m
.
$ git tag -a v1.0.0 -m "Releasing version v1.0.0"
Lagane oznake
Lagane oznake su najjednostavniji način za dodavanje oznake u vaš git repozitorijum jer čuvaju samo heš commit-a na koje se odnose. Stvorene su u odsustvu opcija -a, -s ili -m i ne sadrže nikakve dodatne informacije.
Lagane oznake su u osnovi „obeleživači“ commit-a, oni su samo ime i pokazivač na commit, korisni za stvaranje brzih veza do relevantnih commit-ova. By Bitbucket tutoriali
Za kreiranje nove lagane oznake izvršite komandu:
$ git tag v1.0.0
Dodatne komande
Lista oznaka - git tag
Koristite komandu kad god želite da navedete sve postojeće oznake, ili biste mogli da filtrirate listu pomoću git tag -l 'v1.1. *'
, Gde *
deluje kao džoker. Vratiće listu oznaka označenih sa v1.1
.
Primetićete da kada pozovete [git tag](https://kolosek.com/git-commands-tutorial-part1/)
nećete videti sadržaj svojih napomena. Da biste ih pregledali,morate dodati -n
komandi: git tag -n3
.
$ git tag -l -n3
v1.0 Release version 1.0
v1.1 Release version 1.1
v1.2 Release version 1.2
Komanda navodi sve postojeće oznake sa najviše 3 reda njihove poruke o oznakama. Podrazumevano -n
prikazuje samo prvi red.
Detalji oznake - git show <tag_identifier>
Ova naredba vam predstavlja detalje o oznakama i informacije iz commit-a koje je označeno.
$ git show v1.0
tag v1.0
Tagger: Kolosek
Date: Fri May 11 10:45:33 2018 +0100
Release version 1.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iMTvhAA...
-----END PGP SIGNATURE-----
commit 7d44b6bb8abb96dee33f32610f56441496d77e8a
Author: Kolosek
Date: Fri May 11 9:50:13 2018 +0100
Edited the Login form
...
Štampa ime autora, datum kreiranja, poruku, GnuPG potpis ako je prisutan i informacije o navedenom commit-u. Ako je oznaka lagana, izlaz će biti ograničen na informacije o referenciranom urezivanju.
Uređivanje tagova - git tag -a -f <tag_identifier> <commit_id>
Ako pokušate da kreirate oznaku sa istim identifikatorom kao i postojeća oznaka, Git će izbaciti grešku: fatal: tag 'v1.0' already exists
.
Umesto da morate da je izbrišete i ponovo dodate oznaku, možete je jednostavno zameniti zadržavajući postojeći opis. Izaberite mesto u istoriji commit-a pomoću <commit_id>
na koje želite da se oznaka prebaci i dodajte -f
ili -force
u svoju komandu.
Ne zaboravite da upozorite članove svog tima kada „forsirate“ ovakvu promenu. Ako i dalje imaju „staru“ verziju oznake, to može da izazove konflikte kada pokušaju da prebace na server!
Ako ste već gurnuli oznaku na server i želite to da popravite, prvo proverite da li je lokalna verzija oznake tačna pre nego što pokrenete sledeću komandu: git push origin -f --tags
.
Brisanje tagova - git tag -d <tag_identifier>
Generalno, nema razloga za brisanje oznaka, jer su jeftine i ne koriste nikakve resurse, osim ako niste greškom kreirali oznaku koja ukazuje na pogrešan commit.
U slučaju da je oznaka već gurnuta i morate je ukloniti iz udaljenog repozitorijuma pokrenite: $ git push origin: v1.0
.
Objavljivanje tagova - git push <location> <tag_identifier>
Oznaka je samo referenca na vaš lokalni repozitorijum i ne prebacuje se automatski u udaljeni repozitorijum sa ostatkom koda. Umesto toga, možete git push
oznaku pojedinačno ili možete pokrenuti git push --tags
koji će gurati sve oznake odjednom. To se može učiniti slično guranju grana:
$ git push origin v1.0
Sortiranje tagova - git tag --sort = <tipe>
Kada gledate projekat sa puno tagova, upotreba opcije sortiranja može vam dobro doći. Podržani tipovi su:
refname
(sortirano po leksikografskom redosledu),version: refname
iliv: refname
(ovde se nazivi oznaka tretiraju kao verzije).
git tag -l --sort=-version:refname "v*"
Ovde navodimo sve oznake čija imena počinju sa „v“ prema njihovim verzijama.
Nije li git tag isto što i #tag u društvenim mrežama, ali na svoj način? Pomaže nam da se vratimo i navedemo sva naša prethodna izdanja!
Pretplatite se na naša buduća izdanja članaka! Obavezno ćemo ih označiti za vas!