Аннотированный тег - это, вероятно, первое, что вы должны сделать.
Оттуда у вас есть несколько вариантов для вашего рабочего процесса: вот два наиболее распространенных варианта.
Вы можете перемещатьв стиле «только вперед», где серия 1.0 больше не поддерживается (1);Вы можете сделать «только поддержку» в серии 1.0, и все новые функции будут добавлены в серии 2.0 (или заменить 1.0.1 и 1.1, оставив 2.0 для полного переписывания - номера версий не так уж важны) (2).
Сценарий 2 определенно является более «профессиональным» вариантом, но если это небольшой проект с узкой областью действия, сценарий 1 в порядке.
В сценарии 1 вы можете выполнить все своиработать в основной ветке, или делать ветви функций, сливаясь с мастерской, когда будете готовы.Если у вас есть новый выпуск, просто пометьте его как 1.1 или 1.0.1 или как угодно.
В Сценарии 2 вы можете использовать свою основную ветку, чтобы отразить новейшую версию, ветку «поддержки», чтобы отразить вашу поддержку.выпуск, «промежуточная» ветвь на стадию и тестирование новых функций, которые в конечном итоге будут объединены в мастер, и вы можете использовать ветки функций для разработки новых функций или исправления ошибок.И по мере развертывания исправлений ошибок, вы объедините ветку поддержки обратно в master.Когда вы выпускаете либо новую версию, либо версию поддержки, просто используйте аннотированный тег снова.
Лично я обычно поддерживаю ветку master-staging-support с тегами, а не ветку длякаждый версионный выпуск;но это замечательная вещь в git - вы можете делать это так, как считаете нужным!Поэтому, конечно, два варианта, которые я представил, ни в коем случае не являются единственными вариантами, которые у вас есть для вашего рабочего процесса разработки.