We are following a process where we merge all the feature branches that needs to be released in a Release branch and merge it in master. Recently, we had some issues and we had to revert a release. After reverting, all feature in the release branch got reverted and since we want to release only specific features next, we need to cherry-pick commits. It was very difficult for us to cherry-pick the commit for every feature, since there were lots of commits and merge commits to consider. This situation is rare, but it had taken lots of effort and time from the development team to ensure every single commit were picked.
Is there an efficient way to reduce the time to cherry-pick the commits and also make sure all the commits related to feature are picked correctly?