Git repos, worflow and backup
Our use of git so far is obviously to commit to master branch, and then deploy with git push heroku master. Having a very basic working knowledge of git, and being a lone developer, I was wondering how I could build on the workflow we've used so far.
I was thinking along these lines... having a master and a dev branch. I'd develop and test only in the dev branch (possibly with sub-branches). When ready to release and deploy, I'd merge the dev branch into master, tag that, and then run git push heroku master (and deploy static stuff to Amazon S3). Then I'd continue development in the dev branch.
(If I find a bug in production, I could branch from the latest tag into a specific bug fix branch, code/test/code/test, and when ready, merge back into master, tag and deploy).
To keep the local repo continuously backed up in case of disk failure, I'd have a symbolic link from my Dropbox folder to my project repo.
Obviously this system involves only two repos -one locally for development and one at Heroku for deployment.
Does this sound sensible and "production strength"? Does is compare well with what you do?
Thanks for any thoughts
Answers
I've used Vincent Driessen's "git flow" branching model for years now, on projects from small to large. It works very well for me, and sounds very similar to what you're talking about here. I'd recommend taking a look at it and borrowing from it as you like.
For backup, I think Dropbox is convenient, but I wouldn't rely on it as your only backup. You'll probably want to use something like Backblaze, CrashPlan, or Carbonite as well.