“Why is Github asking me to input my username and password when I try to push changes to a repository I own?” I asked this myself a couple of times before I figured out I had cloned it the wrong way:
git clone https://github.com/kovshenin/publish.git .
As opposed to:
git clone email@example.com:kovshenin/publish.git .
Where the former will use the HTTP protocol, and thus require basic authentication (username and password), and the latter will use the SSH protocol, and will try to use my SSH key instead, for password-less authentication. The former will work, but you’ll have to keep entering your username and password every time. The latter is more secure.
Simple, but tricky. No, I don’t use a GUI for version control, and neither should you, trust me :)