The hash as ID instead of a number is one thing I cannot put a "positive spin" on: SSU_V5.0Rce104e.zip just doesn't roll out of the tongue as SSU_v5.0r2971.zip...
Well, to me both look about the same. The only difference is this: the "ce104e" will clearly indicate a specific status of the whole project in the DVCS system, no matter what copy of it I encounter in the world. The "2971" is a number that was given from one specific server, and if for whatever reason there are 2 servers, I can't reference a specific status of the whole project anymore without also knowing which server it originated from. In addition, 2971 gives a false metric of pretending to be "newer" than 2970, which it not necessarily is, not even in SVN.
But yeah... nitpicking.
I'd prefer we can keep the centralized workflow... no point using the mafia hierachy when there are only 2 people commiting. Each dev can have their private branches, and we keep the public ones as is for "cooperative work" and/or backup*, and we keep the trunk (or master as it is be called, right?) as the main line.
You can call your branches whatever you want in Git. Even "trunk" would be OK, although that terminology would confuse people coming to the project (and they will once you are hosting it in Git on e.g. Github).
*) if I create a private branch, it isn't backed up to anywhere, right? Only the the files that I push get sent to others?
Don't confuse files and commits. Imagine Git as automated ZIP workflow, like depicted in my blog entry here:
https://www.orbiter-forum.com/blog.php?b=1161 . You never handle single files there, but whole project work status. What you exchange is these work status, not certain files. With a commit, you establish a specific work status, which can incorporate many file changes. All your commits are at first done locally, with no backup done anywhere, just like if you were doing ZIP archives all the time. With the push/pull operation, you transfer these commits to other copies of the repo, presumably a "blessed" one. You can control which commits you transfer (those made on "public" branches) and which commits you want to keep for yourself (those made on "private" branches). You can even transfer different sets on communicating with the "blessed" repo vs. developer repos (e.g. your own private cloud copy of the project).
I'm about 90% convinced by git... is there a client to maybe start playing with it?
Today there is a multitude of good clients, both command-line and GUI. There are good Visual-Studio integrations that you can install via on-board extension management. There are stand-alone tools like e.g.
SourceTree . There are Explorer integrations like TortoiseGit. In general, look here for Git clients:
https://git-scm.com/downloads/guis .
Personally, I prefer the command-line if it comes to Git, but then I'm not a good example because I primarily work with Mercurial.