Ned help in migrating specific files in Entire repo

I have a repo in gitlab which is “ABC” nad it has around 100 components (code files)
Below is my current setup of different branches and how I migrate across these branches.
feature branch → dev → preprod → uat → prod.

Lot of users can create their own feature branches and merge into dev branch. All of these changes can go into preprod as well.
For example:
User1 created feature branch ABCD by adding 4 files (1,2,3,4)
User2 created feature branch PQRS by adding 2 files (7,8)
Both users merged their feature branches into dev branch.

Now all the 6 files are present in dev branch.
all the 6 changes can go into preprod as per developers.
So One of them created a single merge request to push the changes from dev to preprod.

Now One user testing completed in preprod and want to move them to UAT.
So only file changes related to 7,8 should go to UAT branch.

But if we merge preprod into UAT all the changes will go.

How can we handle such scenarios.

How to do selective push here.
Like only merge file 7 changes to UAT or only merge file 2 changes to UAT.

Could you please help with that.