Merging and clean commit history

Hi Forum,

I’ve recently started using gitlab (and git more heavily to be honest, always been an SVN guy)

I wanted to know if how I want my history to display is possible.

Essentially I have development as default protected branch, feature branches are branched off Development - feature branches are merged back into development with a squash and feature branch deleted so development doesnt get bogged down with little commits. At this point, Development commit history is looking clean-ish and contains basic major feature additions to it.

When committing to master branch, I’d like to do the same, and basically consolidate all the new commits into a merge / squash commit and have them more as ‘release’ commits, so master branch has an extremely clean commit history.

This is possible and working, but the unfortunate matter is in the gitlab gui the master always shows as xxx commits behind development and xx commits ahead - is there a way to basically have it where on the merge, they are ‘synced’ in regards to commits ahead/behind, but show essentially a different history? As at the point in time of a merge, the 2 branches are identical.

I use development as default branch so issues/merge requests etc always default off development for branch creation, merge request creation etc.

Any insight is appreciated!

Thanks.