Git tag = Μόνιμη ετικέτα σε ένα συγκεκριμένο commit.
Κύρια χρήση: Σήμανση των εκδόσεων (v1.0, v2.0 κ.λπ.)
Διαφορά από τους κλάδους:
Αναλογία: Ετικέτα = αυτοκόλλητο «Έκδοση 1.0» σε μια σελίδα τετραδίου.
git tag v1.0 # Απλή ετικέταgit tag -a v1.0 -m "Version 1.0 - First stable release"mkdir demo-tags && cd demo-tags
git init
echo "print('app v0.1')" > app.py
git add . && git commit -m "Initial version"
echo "print('app v0.2')" > app.py
git add . && git commit -m "Bug fixes"
echo "print('app v1.0')" > app.py
git add . && git commit -m "First stable version"# Απλή ετικέτα
git tag v1.0
# Ετικέτα με μήνυμα
git tag -a v1.0-stable -m "Version 1.0 - Production ready"
# Ετικέτα σε προηγούμενο commit
git log --oneline # Προβολή των hash
git tag v0.2-beta <hash> # Ετικέτα σε συγκεκριμένο commitgit tag # Όλες οι ετικέτες
git tag -l "v1.*" # Ετικέτες που ταιριάζουν στο μοτίβο
git show v1.0 # Λεπτομέρειες της ετικέταςgit checkout v1.0 # Μετάβαση στο επισημασμένο commit
git checkout main # Επιστροφή στο maingit push origin v1.0 # Αποστολή συγκεκριμένης ετικέτας
git push origin --tags # Αποστολή όλων των ετικετώνvMAJOR.MINOR.PATCH
- v1.0.0 → First stable release
- v1.0.1 → Bug fix
- v1.1.0 → New feature (backward compatible)
- v2.0.0 → Breaking changes# Η ανάπτυξη ολοκληρώθηκε
git checkout main
git pull origin main
# Ετικέτα κυκλοφορίας
git tag -a v1.2.0 -m "Release v1.2.0 - Add user authentication"
# Αποστολή κώδικα + ετικετών
git push origin main
git push origin v1.2.0
# Ή αποστολή όλων μαζί:
git push origin main --tags# Διαγραφή τοπικής ετικέτας
git tag -d v1.0
# Διαγραφή απομακρυσμένης ετικέτας
git push origin --delete v1.0
# Τροποποίηση ετικέτας (αναδημιουργία)
git tag -d v1.0 # Διαγραφή τοπικά
git push origin --delete v1.0 # Διαγραφή απομακρυσμένα
git tag -a v1.0 -m "Corrected message" # Αναδημιουργία
git push origin v1.0 # Επανάληψη αποστολής1. Κυκλοφορία στην παραγωγή:
git tag -a v2.1.0 -m "Production release v2.1.0"
git push origin v2.1.0
# Ανάπτυξη της έκδοσης v2.1.0 στην παραγωγή2. Επιστροφή σε προηγούμενη έκδοση:
git checkout v2.0.0 # Επιστροφή σε σταθερή έκδοση
git checkout -b hotfix-v2.0.0 # Δημιουργία κλάδου hotfix3. Σύγκριση εκδόσεων:
git diff v1.0.0 v2.0.0 # Προβολή όλων των αλλαγώνΕτικέτες = μόνιμα ορόσημα του έργου σας. Χρησιμοποιήστε τις για όλες τις κυκλοφορίες σας!