I'm trying to come up with a decent personal git workflow. I've put together a flowchart that walks through the hypothetical lifespan of a typical release: one developer pushing to a public github repo + a friend who pitches in for some feature (or to fix a bug). The flowchart is still pretty crude (I'll make it pretty after I get some input). Is this a reasonable approach to take on a personal project? This will be my first completely from scratch project, so I'm pretty new to planning a project the start. The main idea is to keep the public repo tidy: each new release gets on its own branch until it's finally tagged in the master branch when it's finished; and all work is done on "feature" or "hotfix" branches, never on an actual release branch, to prevent anomalies. If it's a bit overkill I don't mind because the whole point for me is to learn skills I might need for a larger project. The only problem would be if I'm doing something flat out wrong or unnecessary. **Large image ahead (3930px):** [http://i.imgur.com/JYN0p.png][2] ![flowchart][1] [1]: https://i.sstatic.net/nQjZZ.png [2]: http://i.imgur.com/JYN0p.png