I recently moved some of my private repos to Bitbucket from Github. This is something I should have done a while ago. To me, whether to use Github vs. Bitbucket boils down to two questions that you must ask yourself when you start a new project:
- Will this be open-source?
- Do I expect there to be multiple contributors to this project?
I think Github works great for open-source. The application is built around the concept of “social coding”. However, their private-repo based pricing model is obscene, in my opinion. That’s why I just use Bitbucket for all non open-source projects.
Bitbucket, on the other hand, offers unlimited free private repositories. Their pricing model is based on the number of collaborators per project. Well, in my experience, the number of collaborators is usually positively correlated with whether the project is open-source or not.
So, here’s how I work. I have the $7 Github plan and I keep all open-source projects there, along with a few private projects (where I collaborate with other people). I have a bunch of other private repositories on Bitbucket, and these are projects that I may have made while freelancing, and I know no one else is going to collaborate on these.
This model has been working out well for me. Since they’re both git-based, I can easily move my existing repo from one to the other:
$ git remote add bitbucket https://email@example.com/user/project.git; $ git push -u bitbucket master