I am using GitFlow for my development conventions. Generally speaking, I create a user story and an matching feature branch off my develop branch and work on that. Once the story is complete, the feature is complete and merged (rebased) back into develop.
However, I am now running into the issue where my feature is rather more of an epic. There is some significant amount of development that will be required before the feature (epic) could be delivered (it has to be delivered as a single deliverable). But to work only in 1 feature branch is not appropriate.
That being said, what is the proper convention for doing something like this? Do I create my epic branch called feature/MyEpicName and then just tell all my devs to use feature/MyEpicName as their equivalent "develop" branch? They would then be creating all their feature branches based off that branch, and merging their changes back to that branch.
However, if I follow a process like that, my naming convention starts to get wonky. Normally (by convention), feature/xxxx implies a feature branch from the develop branch. If my devs use the feature/MyEpicName as their "develop" branch, they will still create their own feature/branch. But then it becomes a gargantuan mess to try to understand which feature is branched from develop and which is branched from the epic.
Is there an acceptable naming convention/process to deal with these kinds of situations? Do they call their feature branches feature/MyEpicName/xxxxyyyy?
Will the latter break some of the tooling/scripts? Ex: gitflow hooks, smartgit, etc.