One Branch To Rule Them All

mipo256 29 минут назад One Branch To Rule Them All Средний 7 мин 931 Блог компании Spring АйО Программирование * Java * Обзор Перевод Автор оригинала: Axelix Labs Всем привет. На связи Михаил, технический лидер проекта...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. mipo256 29 минут назад One Branch To Rule Them All Средний 7 мин 931 Блог компании Spring АйО Программирование * Java * Обзор Перевод Автор оригинала: Axelix Labs Всем привет. На связи Михаил, технический лидер проекта Axelix. Я уже довольно давно хотел написать небольшую статью о нашей модели ветвления git в надежде, что она может пригодиться и другим.
В мире существует немало стратегий ветвления git, например:GitflowGitHub-flowTrunk-Based-Development (TBD) и так далее. По своему опыту могу сказать, что команды обычно не берут какую-либо стратегию в точности в её исходной форме, а либо изобретают нечто совершенно новое сами, либо просто берут, к примеру, уже упомянутый GitFlow и адаптируют его под свои нужды. Так вот, за уже целый год разработки Axelix мы пришли к слегка модифицированной модели Trunk Based Development, и, как мне кажется, она хорошо нам послужила.
Технические детали
Надеюсь, она окажется полезной и для вас. У этой модели, безусловно, есть свои недостатки, но в целом мы ею довольны. Прежде чем мы начнём, важно понимать, каким требованиям мы пытались соответствовать.
В конце концов, каждый должен решать сам, отталкиваясь от своих проблем. Небольшая вводная: версионирование AxelixДве самые сложные проблемы в разработке ПО - это именование и версионирование. Это не точная цитата, но примерно так звучала шутка Томаса Вёртингера (руководителя проекта GraalVM) на BoF на Devoxx Belgium 2025, когда он рассказывал о той самой статье “Detaching GraalVM from the Java Ecosystem Train”.
Чтобы дальше было понятно, почему мы делаем то, что делаем, полезно разобраться в используемой нами схеме версионирования. В Axelix мы используем семантическое версионирование (SemVer) компонентов. Я бы даже сказал, что SemVer - это де-факто стандарт версионирования в современном мире.
Отраслевые последствия
Конечно, существуют и другие схемы версионирования, как у Windows, где есть Windows 7, 8, 10 или 11. Есть также ПО, которое выпускается с использованием различных вариантов CalVer. Хорошим примером будут IDE от OpenIDE: например, 2026.
И всё же большинство проектов используют SemVer, и Axelix не исключение. Но когда речь идёт о современном ПО - оно часто состоит из множества компонентов. Например, в Axelix есть:Плагины сборки для Maven/GradleСтартеры Spring BootMaster в виде отдельного исполняемого JARDocker-образ MasterHelm Chart для MasterТак вот, каждый из перечисленных выше пунктов представляет собой независимый артефакт, который распространяется независимо от остальных, а значит, имеет собственные “координаты”.
В нашем случае мы решили придерживаться “синхронного” (в англ. литературе часто говорят “Lockstep”) версионирования проекта Axelix. Если кратко, это стратегия версионирования компонентов продукта, при которой все компоненты системы имеют одну и ту же версию X.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






