Когда тегам следует отдавать предпочтение перед ВЕТВЛЕНИЕМ и наоборот (в CVS)?
-
02-07-2019 - |
Вопрос
Я думаю, название должно быть достаточно хорошим.
Решение
Теги
Думайте об этом как о моментальном снимке во времени.Я хочу иметь возможность вернуться именно к этой точке.Однако это никогда не изменится.Вы не выполняете проверку помеченного элемента.
Вещи, которые могут быть помечены:
- Релизы (основные и второстепенные)
- Исправления, отправленные клиентам
- Исправлены ошибки
- Основные этапы (альфа, бета и т.д.)
- Успешная ежедневная сборка
Ветви
Над веткой будет выполняться разработка (т. е.проверки).
Вы могли бы создать ветку из тега (например, для исправления ошибки).
Вы можете создать ветку для разработки функции, а затем объединить ее обратно с основной магистралью.
Вы могли бы создать ветку для выпуска (второстепенного или основного).
Ключевым моментом является то, что ветви могут быть изменены, а теги не должно быть.
Другие советы
Теги следует использовать, когда вы хотите отметить веху.Этот этап может быть таким же небольшим, как ежедневная сборка.
Ветви следует использовать, когда вы хотите вносить изменения независимо от другой ветви / магистрали.
Ветвление также следует использовать для основных этапов, таких как релизы.Это зависит от вашего стратегия ветвления хотя.
По поводу других ответов,
Мы используем теги для второстепенных релизов и ветви для релизов.Так, например,
v1.0 <-- Branch
v1.0.1 <-- Tag
v1.0.2 <-- Tag
v1.1 <-- Branch
v1.1.1 <-- Tag
v1.1.2 <-- Tag
v1.2 <-- Branch
v1.2.1 <-- Tag
v1.2.2 <-- Tag
v1.3 <-- Branch
v1.3.1 <-- Tag
v1.3.2 <-- Tag
v1.4 <-- Branch
v1.4.1 <-- Tag
v1.4.2 <-- Tag
v1.5 <-- Branch
v1.5.1 <-- Tag
v1.5.2 <-- Tag
Если использовать аналогию с Microsoft, ветка - это выпуск Windows (95, XP, Vista и т.д.), А тег - это пакет обновления.