In order to reduce the risk of duplicating effort in different parallel versions of a system, we give to the /main branch the role of being the implicit reference, through which all variants are communicating.
In clear, we maintain /main/LATEST as the state of the art of every element, the point to which all progresses should be merged at least ultimately, and the only point from which progresses are merged into side branches.
The reasons for making branches should always be clear, and the life-time of the branches as short as possible, the number of elements and the amount of information concerned as small as possible.