What, if any, conventions do you apply to the naming of branches in order to create notional groups of branches? I'm trying to validate a hypothesis to help shape a plugin idea.
This is a question for users of Stash; but StashDev might as well chip in, although I already have some idea of how you work. :-)
Do you, for example, name branches to reflect the release you intend them to be part of? Do you name them according to the software component or feature they apply to? Something else?
I find that there are 2 main naming convention styles within git. Hyphen separated or slash separated. GitFlow uses the latter to separate groups of branches:
Many of the cross product teams within Atlassian use this convention. Product teams within Atlassian seem to use the hyphen approach:
I find a lot of Git experts like to use the slashes approach as it equates to directories organising branches on the filesystem
I know that the Confluence team has adopted the following approach and follows an "Issue/Story driven development" workflow:
Short lived branches are created for every issue/story using the following naming convention:
We have a centralized/non-forking workflow.
We encourage developers to push their in-work features to the centralized repo. We enforce feature branches pushed to the server follow the standard of: <username>/<branchname>. We recommend the branch be named as the issue ID, but that is not part of our process.
We do not differentiate between hotfix, bugfix or feature.
We do not use master past the first commit. It makes the initial clone faster.
Releases each have their own short uniquely named branch without a slash. We try to keep these names to 6 characters or less.