Я использую Git, Maven, Jenkins & Nexus в качестве инфраструктуры исходного кода / сборки / выпуска.Кто-нибудь может предоставить за и против использования тегов или ветвей для представления релизов приложений?
Кажется, использование тегов является предпочтительным подходом, но статьи, которые я прочитал, склоняются к использованию облегченных тегов вместо аннотированных в своих решениях.Также у меня есть ощущение, что теги в основном полезны для разработчиков как временный «маркер» для изменений кода, а не как авторитетный маркер / место во времени, которым должен быть релиз.
Мое понимание легких тегов заключается в том, что они могут быть удалены или перемещены между коммитами.Это (на мой взгляд) сводит на нет всю идею использования их для определения того, что находится в релизе, тогда как созданная ветвь довольно каменна (очевидно, что файлы на ней можно редактировать позже, но создание этого объекта неподвижно.)
Спасибо за любую информацию / советы.Dave