I want to manage outsourced contractors to help develop our code. The code sits on Github.

I wish to use a simplified version of this branching model: http://nvie.com/posts/a-successful-git-branching-model/

For now, the code is not modular, so I cannot hide parts of it from some developers, a la https://stackoverflow.com/questions/3852601/github-branches

I do want to hook up our production and staging servers to a repository, so I need to manage write access to the code repository.

Q1 - does this mean I need an ORGANIZATION account on Github? I'm assuming I do.

Q2 - Would this branching methodology work: A Main repository with the Master and Integration branches. Contractors (not having write access) will pull from this repository (or fork it?). When they are done with a task, they will send a pull-request via the site.

Q2A - does this mean I will not have the ability to track task branches in my repository?
Q2B - how will the integration process work? Do I need to assign a new team, called integrators? Will they pull the completed tasks to the integration branch of the main repository, test it and if good merge to the master branch?

Q3 - Is there a better model?

EDIT - I trust these developers with my code (with regards to secracy). I do not trust them to decide when a feature is ready for production, or which fixes go into the next release.



  • Tal, I'm sorry your question got migrated here, but I'm not sure this is the right place for it. We can explain possible branching strategies to you, but specifics of Github usage (types of accounts, etc.) are off-topic here and would be better off split into a separate question back on Stack Overflow or asked from Github's support.
    – Adam Lear
    Sep 18, 2011 at 13:49
  • I don't use Git so can't answer 1 or 2 but no matter what you choose the answer to 3 will be yes.
    – Ben
    Sep 18, 2011 at 14:02
  • @AnnaLear Github is just an example of an online Git repository service. My question is generic, in that I'm looking for the right branching strategy to work with contractors via an online repository.
    – Tal Weiss
    Sep 19, 2011 at 5:19

1 Answer 1


Even as Organization (example), it's tricky because you can only assign read/write permissions per repository, not per branch. So you would have to split your modules into separated repositories to be able to hide parts of it from the contractors.

Also, org users only get few private repositories, so you might run out repos sooner than later, which is why I almost completely made the switch to Codebase because you can have as many repos per "project" as you want, so it's a lifesaver to be able to have multiple repo point to the same issues and wiki instead of having to recreate (or store separately) as I had to in Github, and you can still set permissions on each repo [but not per branch].

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.