"Main" implies there's a hierarchy and that some branches are better than others. We need to eliminate branchism from language. I instead propose names with no intrinsic hierarchy or connotation: vertical, horizontal, lateral, diagonal, etc. Projects that need lots of branches may use a software I will design that will deterministically translate a bit string into a textual description of a monkey wearing any selection of a variety of facial expressions, hats, glasses, and miscellaneous accessories.
Of course, since we aim to eliminate hierarchy, the branches themselves should also be meaningless. Ideally each commit should create a new branch always. We can merge branches, but we should always fast-forward both branches to the latest commit on the DAG, otherwise we're implying a hierarchy between the branch that isn't fast-forwarded and the one that is, and we wouldn't want to offend any branches.
You will finally be able to say
|I've pushed the snafucator to 'monkey with a van dyke and liberty spikes, sticking out tongue and winking left eye, wearing pink lipstick, geordie visor, a black t-shirt, and rainbow bow tie'. When you get the chance merge it with 'monkey with cornrows, biting upper lip, wearing blue lipstick that ran onto its right cheek, a monocle, a green shirt, and a parachute'.|
secure in the knowledge that no one could possibly be offended.
Alternatively let's just go with "slavemaster" and "actual-slave-being-actually-whipped-development", "actual-slave-being-actually-whipped-v1.2.3", and so on. Also, any time branches are merged, someone has
to suck someone off. No more pussy-footing around, let's give people actual reasons to get offended.