There are a lot of advantages to using a distributed revision control system as opposed to centralized. There are also some down sides, mostly in that it can be a bit more confusing to manage. A centralized web interface however seems to solve that problem quite nicely.
Currently there are two major competitors in that space, Github and Bitbucket, that manage Git and Mercurial repositories respectively. I’ve used Github for a while and recently have really started using Bitbucket and I thought I’d share some thoughts and comparisons of the two. There are a lot of blogs that compare Git and Mercurial, but this is not one of those blogs. I personally have a preference for mercurial, but for admittedly stupid reasons like it was written in python and the syntax more closely resembles SVN which I’ve become used to. To me, a major differentiator in choosing one over the other is the interface or ‘hub’ that manages it.
Below is my item by item lineup showing the differences between GitHub and Bitbucket
| GitHub | BitBucket | |
|---|---|---|
| pull requests | yes | yes |
| forking | yes | yes |
| command instructions | yes | yes |
| distributed revision control | yes | yes |
| network graph | yes | no |
| inline editing | yes | no |
| developer profiles | yes | yes |
| wiki | yes | yes |
| issues | yes | yes |
| rss feeds | yes | yes |
| source browser | yes | yes |
| monthly price | cheap | cheaper |
| free private projects | 0 | 1 |
| # of users | lots | not lots |
| happy hours | in SF | no |
There really aren’t a lot of differences. Personally, I actively use both. Learning both is easy as the syntax difference between the two revision control systems is minimal and both hub interfaces are very similar.
I use git for open projects like TwitTornado where privacy is not an issue and where I’d like to get more developers involved. Its really got a fantastic social network of hackers.
I use bitbucket for my private repositories as it allows 1 free private repository (per user) and has cheaper monthly rates.
I hope this helps others make a decision between the two and try both of them out. Let me know in the comments if I’ve left any parameters out of the table above and I’ll add them in.
Posted by Social Coding in Spring Projects | SpringSource Team Blog on December 21, 2010 at 2:51 pm
[...] when screening job candidates. The specific features of the various platforms are actually very similar. The significant advantage Github has over the others is its popularity and leadership position. [...]
Posted by Alfred on January 7, 2011 at 9:35 am
helpful.Thanks
Posted by Paulo Abreu on March 7, 2011 at 2:59 pm
You may have the private repositories you want with bitbucket, for free. You pay by user, not by repository.
Posted by mark on March 24, 2011 at 2:35 pm
you have the URL of bitbucket.com but that leads to some random blog… I think the right URL for the BitBucket by Atlassian is https://bitbucket.org/
Posted by godavemon on March 24, 2011 at 3:43 pm
Thanks! Updated.
Posted by Guest on August 11, 2011 at 5:53 am
Useful stuff, saved me a lot of hassle.
Posted by perwiklander on October 5, 2011 at 9:27 am
Time for an update now that BitBucket has git repositories?
Posted by Dave Merrill on April 8, 2012 at 5:26 am
And unlimited private repositories, as noted by @Paulo Abreu. Advantage BitBucket by a mile in that regard.
Posted by Glenn Plas (@glenn_plas) on April 25, 2012 at 1:18 am
@Dave, that’s a recent development, at the time of writing this they had different limits. But right now Bitbucket sure looks good, I moved 2 repos to BB private ones, perfect stuff. Took me 10 minutes to sort that out. I sure like BitBucket.
One bad aspect of Github is that as a paying user, you don’t get priority over free ones or even a more stable platform. They are the victim of the collaboration mania… Useless/stale forks tying up diskspace. I find the github search underperforming. When I search for my own public repo with keywords that are in the README.md file it doesn’t show up. I tried adding a few very disctinct words in my descriptions to no avail. Github should make the search perform better. In that regard I have done such searches on BitBucket and it’s more or less the same, looking for a keyword from the projects README’s (any flavor) can’t be done.
Both searches suck. Find a relevant PHP class using their systems in much harder than on sourceforge for example. If I cannot find my repo myself, who will ? It might not be popular, hence it probably never will if noone gets a chance to discover it.