Πώς να εμφανίσετε όλες τις ετικέτες Git;

Στο δικό μου αποθετήριο, έχω δημιουργήσει ετικέτες χρησιμοποιώντας τις ακόλουθες εντολές.

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

Πώς μπορείτε να εμφανίσετε όλες τις ετικέτες στο αποθετήριο;

Λύση
git tag

θα πρέπει να είναι αρκετό. Βλέπε man page git tag


Έχετε επίσης:

git tag -l 

Λίστα ετικετών με ονόματα που ταιριάζουν με το δεδομένο μοτίβο (ή με όλα αν δεν έχει δοθεί μοτίβο).
Πληκτρολογώντας "git tag" χωρίς ορίσματα, παραθέτει επίσης όλες τις ετικέτες.


Πιο πρόσφατα ("Πώς να ταξινομώ τις ετικέτες git;", για Git 2.0+)

git tag --sort=

Ταξινόμηση με συγκεκριμένη σειρά.

Υποστηριζόμενος τύπος είναι:

  • "refname" (λεξικογραφική σειρά),
  • "version:refname" ή "v:refname" (τα ονόματα ετικετών αντιμετωπίζονται ως εκδόσεις).

Προσθέστε "-" για να αντιστρέψετε τη σειρά ταξινόμησης.


Αυτό παραθέτει και τα δύο:

  • annotated tags: πλήρη αντικείμενα που είναι αποθηκευμένα στη βάση δεδομένων του Git. Έχουν άθροισμα ελέγχου, περιέχουν το όνομα, το e-mail και την ημερομηνία του tagger, έχουν ένα μήνυμα tagging και μπορούν να υπογραφούν και να επαληθευτούν με το GNU Privacy Guard (GPG).
  • lightweight tags: απλός δείκτης σε μια υπάρχουσα δέσμευση

Σημείωση: το git ready article on tagging αποδοκιμάζει την lightweight tag.

Χωρίς επιχειρήματα, το git tag δημιουργεί μια "ελαφριά" ετικέτα που είναι ουσιαστικά ένα κλαδί που δεν μετακινείται ποτέ.
Οι ελαφριές ετικέτες εξακολουθούν όμως να είναι χρήσιμες, ίσως για τη σήμανση μιας γνωστής καλής (ή κακής) έκδοσης, ή μιας δέσμης commits που μπορεί να χρειαστεί να χρησιμοποιήσετε στο μέλλον.
Παρ' όλα αυτά, πιθανότατα δεν θέλετε να προωθήσετε τέτοιου είδους ετικέτες.

Κανονικά, θέλετε τουλάχιστον να περάσετε την επιλογή -a για να δημιουργήσετε μια μη υπογεγραμμένη ετικέτα, ή να υπογράψετε την ετικέτα με το κλειδί σας GPG μέσω των επιλογών -s ή -u .


Τούτου λεχθέντος, ο Charles Bailey επισημαίνει ότι μια ετικέτα 'git tag -m "..."' στην πραγματικότητα υπονοεί μια κανονική (ανυπόγραφη σχολιασμένη) ετικέτα (επιλογή '-a'), και όχι μια ελαφριά. Έτσι, είστε εντάξει με την αρχική σας εντολή.


Αυτό διαφέρει από:

git show-ref --tags -d

Το οποίο παραθέτει τις ετικέτες με τις δεσμεύσεις τους (βλέπε "Git Tag list, display commit sha1 hashes").
Σημειώστε το -d προκειμένου να γίνει απορρόφηση του σχολιασμένου αντικειμένου ετικέτας (το οποίο έχει το δικό του commit SHA1) και να εμφανιστεί το πραγματικό commit με την ετικέτα.

Ομοίως, η εντολή git show --name-only θα εμφανίσει την ετικέτα και τη σχετική δέσμευση.

Σχόλια (5)

Για να απαριθμήσω τις ετικέτες προτιμώ:

git tag -n

Η σημαία -n εμφανίζει την πρώτη γραμμή του μηνύματος σχολιασμού μαζί με την ετικέτα, ή την πρώτη γραμμή του μηνύματος δέσμευσης αν η ετικέτα δεν έχει σχολιαστεί.

Μπορείτε επίσης να κάνετε git tag -n5 για να εμφανίσετε τις πρώτες 5 γραμμές του σχολιασμού.

Σχόλια (0)

Δοκιμάστε να κάνετε το git tag θα πρέπει να είναι αρκετό, αν όχι δοκιμάστε να κάνετε το git fetch και μετά το git tag.

Σχόλια (2)