When you finish working on your feature branch, you will need to merge it to the master branch. While doing this, you might encounter merge conflicts, if both the feature and master branches contain changes at the same places. Since the merge occurs on your local repository, it is safe, you can take your time making sure all the changes you do will be correct. However, when you push your changes and they will be available to the team, then any mistakes that you do could escalate.
For this very purpose it is recommendable in many cases to merge master into feature branch, fix the possible merge conflicts in your feature branch, then merge it back to master. I know this involves an extra beaurocratic step, but it is worth it, since you have the option of pushing your merge without any risk and in the case there is someone who can answer your open questions or a tester to try things out, you are in a much safer situation.
Pushing to master is not always super risky. The risk level depends on the distance in steps between pushing to master and getting the pushed code live. If anything pushed to master gets instantly live, then it is extremely risky, while if master is a staging, then the risk is reduced, but still, I think it is more polite to solve any possible merge problems in your feature branch, and when everything is ok, then merge it back to master.
If master has no changes since it was merged into feature for the last time, then you can just merge your feature branch into master.
Theoretically, merging each commits separately is safer, but only if those commits are well tested, but in practice no one will do that, without a very specific reason, like some changes done by someone else which could be incompatible with your changes. But this is only needed when the merge of the heads fails for some reasons and you need to determine where the incompatibility comes from.