There are different authentication methods on Salesforce, so I'm just testing.
I am new to Git. I'd like to use it (or something similar) to keep a distributed copy of a web app I am developing. I'd like copies on two local systems (laptop and desktop) with the possibility of sharing with another developer based far away and deploying the app on my web host.
I sort of get the concept (at least the part about commits, etc), but am not really sure how to keep everything in sync. Is it worth using a hosting service like GitHub or Bitbucket (I know that perhaps defeats the purpose) to assure availability or figuring out how to use the web host for this purpose?
You may want to try Fossil. It's much easier to run your own server
To "keep everything in sync" with Git, you have have to do pairwise syncs. Each pairwise sync can be initiated from either side, the respective commands being "fetch" (from remote to local) and "push" (from local to remote).
If you want to keep many separate sites in sync, mediating the sync via a central host makes sense (as it avoids the exponential explosion of pairwise syncs).
If you have SSH access to your web host, using your web host for a central Git repository is trivial (assuming you have - or can get - Git installed on the web host).