I am a bit confused with using Bitbucket. I have two working emails:
first_email@gmail.com - registered in Bitbucket by Signing with Gmail. Account that holds the repositories.
second_email@gmail.com. - registered in Github, used when pushing commits.
When I edit a file in my repo directly, create branch, or pull request via Bitbucket Cloud. I can see that the author is the first_email.
When developing and pushing commits from work laptop, I see that the author is second_email.
Before when my repositories do not have SSH setup, its asking Git account credential on every push and I am using second_email ever since. But after setting SSH it no longer ask for credentials.
Note:
The way I install git is via GitHub desktop and logged in using second_email.
My question are:
1. Why does my Git credential when pushing no longer being requested after setting SSH? Why is second_email automatically used when doing push? Is it because of Github desktop?
2. Can I also use first_email when pushing commits? Is Bitbucket account similar with a Github account in a sense that we can use it for pushing/commits as well? If yes, then what will be the account credential since it is password less as it was created via Gmail.
3. I tried exploring Branch permission as I want to prevent any direct push on master/main and release/* branches. I will only allow these two branches to be updated via merge on pull request using first_email with Bitbucket Cloud. Then branches like feature, hotfix, bugfix, or develop will allow pushes on everyone that has access to the private repo.

On release/* if I do not set first_email for write access, I will not be able to branch out from branches like hotfix or feature. But doing so allows me to direct push on release/* using second_email. Why is this happening, I expect that second_email should not be able to do direct push since I only set first_email which is Bitwise Devs?