I prefer to use HTTPS, I find it easier and more secure than setting up the ssh keys.
Using HTTPS, you can prevent git from asking your username for github remotes with the following:
git config --global url."https://email@example.com".insteadOf "https://github.com"
And you can at least reduce the frequency git asks for your password with:
git config --global credential.helper 'cache --timeout=28800'
Where 28800 are 8 hours. I use this setup to enter my password only once, when I start my working day.
After that you will have these entries inside your
insteadOf = https://github.com
helper = cache --timeout=28800