The author, as well as most everyone in the comments here, have apparently never heard of org-mode. Yeah, I can understand that for some people emacs is a non-starter, but trust me, if you want to do it, I can just about guarantee it's possible in org-mode. It's just that flexible, and everyone's org-mode setup is different, customized to their needs.
I add tags as relevant if I think about it, and for projects/tasks spanning multiple days i'll create a root item.
I created a local git repo I try and keep everything checked into; I might push it up to a private github/bitbucket repo eventually, but I haven't been careful with scrubbing credentials from shell snippets so leerly on pushing anywhere remote.
The author, as well as most everyone in the comments here, have apparently never heard of org-mode. Yeah, I can understand that for some people emacs is a non-starter, but trust me, if you want to do it, I can just about guarantee it's possible in org-mode. It's just that flexible, and everyone's org-mode setup is different, customized to their needs.