Git is a great (and fashionable) source control management program. GitHub takes the pain out of hosting Git for a group – for both open-source and private projects. How to best use them together? The Way to Happiness has these 4 steps:
- Fork the project on GitHub, and clone your version. This gives you your own copy to work with.
- Make a branch (or frequent branches) for what you’re working on. Some folks systematize this with issue names and bug numbers – like “RedoPostFormatting-234” – which is probably a good idea for projects with lots of collaborators.
- If you reserve certain branch names, like “master” and “staging” for production and pre-production code, you can merge a project’s code back into your tree more easily.
- Or use the github-gem command line tool to grab a copy of somebody else’s code when needed. Here’s the salient snippet from the readme:
Let’s say you just forked
github-gem on GitHub from defunkt.
$ github clone YOU/github-gem $ cd github-gem $ github pull defunkt
This will setup a remote and branch for defunkt’s repository at master. In this case, a ‘defunkt/master’ branch.
If defunkt makes some changes you want, simply
github pull defunkt. This will leave you in the ‘defunkt/master’ branch after pulling changes from defunkt’s remote. After confirming that defunkt’s changes were what you wanted, run
git checkout master and then
git merge defunkt/master to merge defunkt’s changes into your own master branch.