One of the best things about git is that it allows you to do whatever you want.
One of the worst things about git is that it allows you to do whatever you want.
This has lead to a bunch of different 'workflows' for managing an open source project. I remember when "Git Flow" hit the scene, and everyone was mega-excited by it. Then, GitHub themselves fired back with "GitHub flow," which was a bit simpler and talked about how they handle things.
Here's Yet Another Entry into this ongoing saga: "On GitHub and Workflows" Basically, it's somewhere in between the two: you have three branches, representing production, staging, and development. On top of development, you work like GitHub Flow, and when things go from development -> staging and staging -> production, there's an opportunity for a last code review.
As a bonus, there's a little script at the bottom for making pull requests from the command-line with
hub. Neat! We originally saw this from this tweet by @moo9000.