An interesting difference I've noticed about Bitbucket vs Github: While Github has had a "deploy key" feature for quite a while, and Bitbucket only added such a feature just under a year ago, I think Bitbucket's version is a much better fit for what deploy keys are usually used for.
With Github, a deploy key has read-write access to repos, and each key can only be attached to a single repo.
However, with Bitbucket, a deploy key has read-only access to repos, and each key can be attached to more than one repo.
I've found github better for open source projects, and bitbucket better for businesses. Github only just recently introduced the idea that one 'deploy key' could be used on more than one repo(!), for example, not to mention that deploy keys had full write access.
User management - more important for a business - is much nicer on BitBucket, and was the specific reason why we shifted. And it will continue to be nicer, until they infect BitBucket with the same user management mess that blights Jira/Confluence. :)
The difference is that BitBucket pricing is based on the number of collaborators. Their pricing page makes it seem like you even have to pay to have more than 5 collaborators on a public repo, whereas with github you don't. If I'm reading it right, then Github is still really good for Open Source projects that intend to have more than a handful of collaborators. While BitBucket is a good place to stick your private repos where you have few (or no) contributors.
Bitbucket is not as good? Feature-wise they're almost identical.... I use github for my FOSS projects and bitbucket for stuff that shouldn't be public, like for-profit soft and side-projects. If you don't see added value in free unlimited private repos that's not the case for many of us.
I have used both for a couple of years and the biggest difference I have noticed is that github has an open, social design while on bitbucket you feel like the only person on the site.
I use both: I stick my private repos up on Bitbucket (where I don't need to show them to anyone, and thus pay nothing), and my public repos on Github (where I don't need to hide them from anyone, and thus pay nothing.)
And I don't miss Github's collaborative features in my private repos because I'm not collaborating in those :) Bitbucket is literally just "a place to push my repo where it'll be safe" for me[1]; Github is "a place where I can collaborate with others."
And you know what? You can even use both for a single project. Push your public branches to Github, accept patches, then base a private product on the result [just some extra non-pushed-to-public branches] and work on that in Bitbucket. For example, you could have, say, the Chromium codebase on Github, and then Chrome on Bitbucket.
[1] Well, okay, Bitbucket is also pretty good for doing deploys from: you can CNAME git.yourcompany.com to them, set up some Deploy Keys and Deploy Hooks, and it'll feel just like you had your own internal repo server for your deploy server to talk to.
I use bitbucket mainly to host all my private repos (unlimited free private repos) and use github for my public ones. I'm not sure what the tradeoffs are regarding features (so far I'm not missing anything on bitbucket) but it's still git so the core things are still the same.
I'd just like to add that one thing I like that bitbucket offers over github is free private git repositories (if you don't mind being limited to 5 users). Not compelling for everyone, but it's nice to have the option.
Who else thinks bitbucket is better than github? And that even if its not, we should host a copy of repos on bitbucket too, because competition is good?
EDIT: (For git non-pro's like me)
How does one create a copy? After creating an empty repo on the web interface:
git remote add bitbucket <url of the repo>
How does one keep it updated?
git push bitbucket <branchname>
---------------------------------
Or if you'd like to always keep the bitbucket repo in sync every time you do a git push origin (preferred method):
`git remote set-url --add --push origin <url of the repo>`
Agreed about Bitbucket. I've used it for a long time and haven't found it to be substantively different from GitHub in either functionality or reliability. The major downside, as I see it, is that it's just not as popular.
Bitbucket, unlike github, clung to a design of many servers connected to a big disk. GitHub instead went for many servers with their own disk and a distributed storage system. This means that bitbucket ends up being a lot slower in many operations than github.
I don't see the advantage of using one Git repository to another. For me all of them just allow me to do git pull/push/log/etc...
I stick to Bitbucket for all my private stuff and even some public stuff. Whoever cares about my public code has to do exactly the same process in Bitbucket as in Github (i.e., just gets the URL and goes there to see the code).
What experience do you find better in Github? (note, I use Github for work )
It's worth noting that GitHub charges per repo whereas Bitbucket charges per user. So GitHub might make sense for product businesses where there are only a handful of repos, but Bitbucket is much more cost effective in an agency environment where you might have a repo per client or even per project.
I wonder if the unlimited private repos hurt bitbucket to some extent. With Github you are sharing by default, so there is a lot more content available than on bitbucket, where you can decide.
With Github, a deploy key has read-write access to repos, and each key can only be attached to a single repo.
However, with Bitbucket, a deploy key has read-only access to repos, and each key can be attached to more than one repo.
reply