Теги
Теги у Git використовуються для позначення конкретних комітів або моментів в історії репозиторію. Вони дозволяють легко відстежувати та посилатися на конкретні версії коду.
Щоб створити тег у Git, використовуйте команду git tag разом із назвою тегу та комітом, який ви хочете позначити. Наприклад, для створення тегу з назвою "v1.0" для останнього коміту, виконайте команду git tag v1.0.
Теги можна видаляти за допомогою команди git tag -d, за якою слідує назва тегу. Наприклад, git tag -d v1.0 видалить тег з назвою "v1.0".
Рекомендації:
- Використовуйте теги для позначення важливих моментів у розробці, таких як релізи або стабільні версії.
- Додайте опис до тегів, щоб зрозуміти, що саме вони позначають.
- Використовуйте анотовані теги (
git tag -a) для створення тегів з повною інформацією про автора, дату та повідомлення коміту. - Використовуйте прості теги (
git tag) для швидкого позначення комітів без додаткової інформації.
Семантичне версіонування
Семантичне версіонування - це система нумерації версій програмного забезпечення, яка дозволяє зрозуміти, які зміни були внесені в останню версію програми. Автором Специфікації Семантичного Версіонування є Том Престон-Вернер, засновник Gravatars та співзасновник GitHub.
Версія це просто набір 3-х номерів, що розділені точкою, а саме MAJOR.MINOR.PATCH, де:
MAJOR— це головна версія програми, яка містить значні зміни та може бути щасливою або несумісною з попередніми версіями.MINOR— це середня версія програми, яка містить нові функції, але є сумісною з попередніми версіями.PATCH— це незначна версія програми, яка містить незначні зміни.
Переваги
- Зрозумілість - семантичне версіонування дозволяє зрозуміти, які зміни були внесені в останню версію програми, маючи тільки її номер версії.
- Простота використання - формат версій є простим і зрозумілим для розробників та користувачів.
- Контроль за сумісністю - зміна значення MAJOR сигналізує про несумісність з попередніми версіями програми.
Недоліки
- Нехтуються залежності - семантичне версіонування не враховує залежності між пакетами, які можуть викликати проблеми сумісності з іншими пакетами в системі.
- Незадокументовані зміни - іноді зміни пакетів можуть не відображатися в мажорній, середній або незначній версіях.
Приклади
2.4.1- мажорна версія 2, середня версія 4 і з патчем - це незначна версія.1.0.0- перша стабільна версія програмного забезпечення.3.5.2-beta- це пре-релізна версія з необхідністю протестувати, зазвичай позначена як "beta", щоб відрізнити її від стабільних версій.
[!TIP] Детальніше ви можете ознайомитися з цією практикою на сайті Специфікації Семантичного Версіонування https://semver.org/