Question from Customer:
In the single team branch, once a release is done and if a bug is reported are we supposed to fix the bug in the Main branch and forward integrate back to the DEV branch
Separating Development from Release, bug fixing a shipped release is a Release question, not a question that is unique to single team (development) branching.
Once you have shipped a release, and branched Main to a Release branch ($\abc\Main -> $\abc\Release\Release1), the Main branch is opened up for stabilizing the *next* release (vNext or Release2).
To fix a bug in the current release (vCurrent), you would make that fix in the Release branch ($\abc\Release\Release1) and ship it from there. Then you could merge it back to Main (Reverse Integration) and then to Development (Forward Integration)
Reverse Integration is always a merge from Child to Parent, while Forward Integration is always a merge from Parent to Child.