То, как вы работаете, в порядке. На данный момент все проходит через магистраль, поэтому у вас есть единственная точка отсчета, чтобы знать, где все находится. Проблема с неиспользованием транка состоит в том, чтобы иметь четкое представление о том, куда ушла ошибка. С туловищем проблема линейная. Без транка оно становится экспоненциальным, так как вы должны сравнить каждую ветку с каждой другой веткой, чтобы увидеть, что в них есть.
Лично я бы не хотел, чтобы какой-либо код создавался в ветвях релиза - сначала делайте исправления в ветвях разработчика, а затем объединяйте через транк с веткой выпуска. Иногда это не практично, но историю слияний всегда можно изменить, чтобы это выглядело как то, что произошло. В общем, вполне понятный поток кода из ветвей разработчика, через транк и в релизы.
Причина этого заключается в том, что вы можете назначить номер версии соединительной линии для каждого исправления и отслеживать эту редакцию, просто просматривая историю слияния каждого выпуска с соединительной частью. Вы можете даже составить таблицу, чтобы увидеть, какие именно исправления были выпущены. (Например, см. Мой ответ здесь ).
Если исправление может появиться в ветке выпуска, сравнение такого типа становится намного сложнее. Все еще возможно, хотя я полагаю. Но если ствола нет, вы должны сравнивать каждый релиз друг с другом, и это становится намного сложнее.