I'm trying to come up with a personal workflow. I've put together a flowchart of the hypothetical lifespan of a release: one developer pushing to a public github repo + a friend helping with some feature and fixing a bug.

Is this a reasonable approach to version control?

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.

  • All work is done on "feature" or "hotfix" branches, never on an actual release branch, to prevent anomalies.

  • Merges to higher-level branches are always rebased or squashed (to avoid clutter).

If it's overkill I don't mind because the whole point is 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.

edit 2: fixed bad idea in the original flowchart and made it a bit easier to navigate.


  • @ClintNash Thanks! I updated the image to fix the --squash mistake and added a grid to make it easier to follow. Commented Aug 26, 2012 at 5:29
  • "Merges to higher-level branches are always rebased or squashed (to avoid clutter)." Sometimes I feel this adds more clutter, since the history doesn't match what really happened.
    – Matsemann
    Commented Aug 26, 2012 at 11:12
  • 1
    check this out nvie.com/posts/a-successful-git-branching-model Commented Aug 26, 2012 at 21:37
  • I think my brain just exploded O.O
    – Zaz
    Commented Jul 6, 2014 at 18:13

1 Answer 1


What I see a lot in the git/github community is this

branches master develop

You and contributors work primarily in develop, but someone may have an idea or new feature, so you create a topic branch like git checkout -b user_comments.

Then as you progress through the development you push to master once you git a version you are happy with and tag that in the master branch as 1.0 or 1.1.2 etc ( look up semantic versioning )

  • I was not aware of proper semantic versioning. I mus admit up until today I've been numbering things without any real method to it. I'll start using it from now on. Thanks for the tip! -- website: semver.org Commented Aug 25, 2012 at 6:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.