I've been playing with git recently. It's much nicer than it used to be but has two major annoyances: git revert filename
doesn't do what you want it to - instead you should do git checkout HEAD filename. Also, it's very annoying that git status doesn't show you paths relative to where you happen to be in the repository. Apart from those annoyances, it mostly works.