I recently had to work at some place that followed the &#x27;successful Git branching model&#x27;, and it was quite awful but I also felt maybe it was suitable for them because they had probably several hundred developers running around to make their large media website (once you count the drupal, .net, node.js, and I forget the last one - as well as frontend stuff and media management processes they had to do)<p>on my own projects there are often only 2 or 3 internal developers (and sometimes that can go down to just me, so that further decreases the need for any complicated process) and there I like to have Master be deployable, a branch named development that does sprint type stuff where you expect not to push to master for a week or two, and bugfixes where you expect any work gets merged and deployed in hopefully a matter of hours.<p>Sometimes self contained feature additions that will not affect anything else will be put on their own branch, often these are done by just one developer who might even be external to the main project.<p>Is this the perfect way to do it, probably not, but I tend not to believe in perfection of process I just want something reasonably manageable for the team size and the complexity of the project.