Επεξήγηση ετικέτας Git: Τρόπος λίστας, δημιουργίας, κατάργησης και εμφάνισης ετικετών στο Git

Η προσθήκη ετικετών επιτρέπει στους προγραμματιστές να επισημαίνουν σημαντικά σημεία ελέγχου κατά τη διάρκεια της ανάπτυξης των έργων τους. Για παράδειγμα, οι εκδόσεις έκδοσης λογισμικού μπορούν να επισημανθούν. (Π.χ .: v1.3.2) Σας επιτρέπει ουσιαστικά να δώσετε ένα ειδικό όνομα (ετικέτα) σε μια δέσμευση.

Για να δείτε όλες τις δημιουργημένες ετικέτες με αλφαβητική σειρά:

git tag

Για περισσότερες πληροφορίες σχετικά με μια ετικέτα:

git show v1.4

Υπάρχουν δύο τύποι ετικετών:

Σχολιασμένος

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

Πυγμάχος ελαφρού βάρους

git tag v1.2

Διαφέρουν ως προς τον τρόπο αποθήκευσής τους.

Αυτά δημιουργούν ετικέτες στην τρέχουσα δέσμευσή σας.

Σε περίπτωση που θέλετε να προσθέσετε ετικέτα σε μια προηγούμενη δέσμευση, προσδιορίστε το αναγνωριστικό δέσμευσης που θέλετε να προσθέσετε ετικέτα:

git tag -a v1.2 9fceb02

Τα ονόματα των ετικετών μπορούν να χρησιμοποιηθούν αντί των αναγνωριστικών δεσμεύσεων κατά τον έλεγχο και την ώθηση των δεσμεύσεων σε ένα απομακρυσμένο repo.

Περισσότερες πληροφορίες:

  • Τεκμηρίωση Git: Τεκμηρίωση
  • Git Tagging Κεφάλαιο: Βιβλίο

Μπορείτε να παραθέσετε όλες τις διαθέσιμες ετικέτες σε ένα έργο με την git tagεντολή (που θα εμφανίζονται με αλφαβητική σειρά):

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

Αυτός ο τρόπος καταχώρισης ετικετών είναι ιδανικός για μικρά έργα, αλλά τα μεγαλύτερα έργα μπορούν να έχουν εκατοντάδες ετικέτες, επομένως ίσως χρειαστεί να τα φιλτράρετε κατά την αναζήτηση ενός σημαντικού σημείου στην ιστορία. Μπορείτε να βρείτε ετικέτες που περιέχουν συγκεκριμένους χαρακτήρες προσθέτοντας ένα -lστην git tagεντολή:

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

Δημιουργήστε μια ετικέτα

Μπορείτε να δημιουργήσετε δύο τύπους ετικετών: σχολιασμένες και ελαφριές. Πρώτα είναι αντικείμενα ανταγωνισμού στη βάση δεδομένων GIT: συνοψίζονται, απαιτούν ένα μήνυμα (όπως δεσμεύσεις) και αποθηκεύουν άλλα σημαντικά δεδομένα, όπως όνομα, email και ημερομηνία. Από την άλλη πλευρά, οι ελαφριές ετικέτες δεν χρειάζονται ένα μήνυμα ή αποθηκεύουν άλλα δεδομένα, λειτουργώντας ακριβώς ως δείκτης σε ένα συγκεκριμένο σημείο του έργου.

Δημιουργήστε μια σχολιασμένη ετικέτα

Για να δημιουργήσετε μια επισημασμένη ετικέτα, προσθέστε -a tagname -m "tag message"στην git tagεντολή:

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

Όπως μπορείτε να δείτε, -aκαθορίζει ότι δημιουργείτε μια σχολιασμένη ετικέτα, μετά έρχεται το όνομα της ετικέτας και τέλος, -mακολουθείται από το μήνυμα ετικέτας για αποθήκευση στη βάση δεδομένων Git.

Δημιουργήστε μια ελαφριά ετικέτα

Οι ελαφριές ετικέτες περιέχουν μόνο το άθροισμα ελέγχου (δεν αποθηκεύονται άλλες πληροφορίες). Για να δημιουργήσετε μία, απλώς εκτελέστε την git tagεντολή χωρίς άλλες επιλογές (οι χαρακτήρες -lw στο τέλος του ονόματος χρησιμοποιούνται για να υποδείξουν ελαφρές ετικέτες, αλλά μπορείτε να τις επισημάνετε όπως θέλετε):

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

Αυτή τη φορά δεν καθορίσατε ένα μήνυμα ή άλλα σχετικά δεδομένα, οπότε η ετικέτα περιέχει μόνο το άθροισμα ελέγχου που αναφέρεται

Δείτε τα δεδομένα της ετικέτας

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

$ 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

Εάν η ετικέτα που παρακολουθείτε είναι μια ελαφριά ετικέτα, θα δείτε μόνο τα αναφερόμενα δεδομένα δέσμευσης:

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

Επισήμανση παλιών δεσμεύσεων

Μπορείτε επίσης να προσθέσετε ετικέτες σε προηγούμενες δεσμεύσεις χρησιμοποιώντας τη δέσμευση ετικέτας git. Για να το κάνετε αυτό, θα πρέπει να καθορίσετε το άθροισμα ελέγχου της δέσμευσης (ή τουλάχιστον ένα μέρος του) στη γραμμή εντολών.

Αρχικά, εκτελέστε το αρχείο καταγραφής git για να μάθετε το απαιτούμενο άθροισμα ελέγχου του commit

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

Όταν χρειάζεστε το άθροισμα ελέγχου, προσθέστε το στο τέλος της γραμμής δημιουργίας ετικετών:

$ git tag -a v3.5 a029ac

Θα δείτε ότι η ετικέτα προστέθηκε σωστά σε εξέλιξη git tag:

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

Πιέστε ετικέτες

Το Git δεν ωθεί ετικέτες από προεπιλογή όταν εκτελείτε την εντολή git push. Έτσι, για να προωθήσετε με επιτυχία μια ετικέτα σε έναν διακομιστή θα πρέπει να δώσετε git push originεντολή:

$ 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

Μπορείτε επίσης να χρησιμοποιήσετε την --tagsεπιλογή για να προσθέσετε πολλές ετικέτες ταυτόχρονα με την git push originεντολή:

$ 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

Έλεγχος ετικετών

Μπορείτε να χρησιμοποιήσετε το git checkoutcheckout σε μια ετικέτα όπως θα κάνατε κανονικά. Αλλά πρέπει να έχετε κατά νου ότι αυτό θα είχε ως αποτέλεσμα μια αποσπασμένη κατάσταση HEAD .

$ 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.

Διαγραφή ετικέτας

Μπορεί να βρείτε μια περίπτωση που θέλετε να διαγράψετε μια συγκεκριμένη ετικέτα Υπάρχει μια πολύ χρήσιμη εντολή για αυτές τις καταστάσεις:

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

Περισσότερες πληροφορίες

  • Git Pro - Βασικά σήματα
  • Git Pro - Τεκμηρίωση
  • Git HowTo
  • Git tip: Ετικέτες
  • Δημιουργία ετικέτας

Πηγές

Τεκμηρίωση Git: ετικέτες