We have a big Epic spanning across 3 sprints.
The branch can be merged only when everything is fully complete. We cannot deliver incomplete Epics. Then the Epic can be closed.
Every User Story has a branch. Unless the branch is merged to main,
the User Story is kept open. It is marked to Done when the branch is merged.
Since the main-branch of the Epic is not merged to main, all the user stories
are open. It is showing that we have done not much progress.
What is the best way to mark the user stories which has been merged to the feature branch?

“Feature” branch is merged after 2-3 sprints. Feature branch is for an Epic.
“Sub-Feature” branch is merged every 3-4days. Sub-Feature branch is for User Story. We don't want to mark the User Stories as DONE unless it is available in Main branch.
So all the User Stories are showing in progress. The burn down chart is not correct.
What is the best way to address this?