About a 6 months ago, we adopted Git into our development workflow, and it’s made a huge difference. Before using Git, our process for development was a little too fly-by-night in the sense that we were completely relying on a (often unreliable and mostly intermittent) server backup of the sites if there were issues that required a restore. That wasn’t a good approach for us as when you’re reliant on the server, there’s a bunch of things that can go wrong. With Git, it;s now much, much different.
As part of our Git workflow, our team always pushes changes in small batches and with clear and concise commit messages, giving us the ability to roll back changes confidently anytime we want or need to. So, if we update a theme function for example, that down the road conflicts with another process, we can just roll back to that repo commit; likewise, if our client says “I want everything green”, and we change it green, if they change their mind down-the-road, we simply rollback to the repo commit previous to it going green. Git, and how we use it, is a post or two in itself, so for now, let’s just say that it’s awesome, and we heavily rely on it as part of our workflow now.
Of course, when you’re using Git as a version control system, you need somewhere to host your repositories. While we could have done that on our development server, it made a bit more sense for us to host it on a paid service so that we don’t need to worry about the sever configurations or management. With a large community, a great UI/UX, and tons of GUI apps, GitHub was the obvious choice, so we configured it there and got started using it.
The overall experience of GitHub was awesome; it had a great UI, a big and vibrant community, and made learning how to use Git easier (and even a bit fun). So why did we think about switching? and as a result, find BitBucket to be a good replacement for it?
The big reason for the change for us was price. We wanted to have a solution that was going to be scalable, and in terms of pricing, GitHub just wasn’t for us. For example, for a business account with between 25 and 50 repos, you’re looking at $100/month. So, while GitHub charges per repo, BitBucket charges per user (essentially giving you unlimited repos). Because as part of our ongoing client site maintenance process, we keep our client site repos and don’t delete them, GitHub’s pricing model was getting too expensive too quickly for us. In terms of UI and community, we’ve also found that BitBucket lives up to our expectations.
When I personally use Git, I like to have a GUI app where I can view repos, stage files, make commits, etc. When we were using GitHub, Gitbox was an awesome solution for that. It’s a fantastic, simplified UI that makes working with Git a breeze. So when we made plans to switch, I questioned my ability to find a GUI app that would do the same with BitBucket. The folks over at Atalssian, the makers of BitBucket, have their own GUI Git client called SourceTree, and it’s pretty awesome too. The rest of our team doesn’t care much about that though as they’re all CL users, but for me, SourceTree proved to be invaluable.
The only downfall of BitBucket I’ve found is that it doesn’t integrate with many of the other apps we use, at least not on its own. So, we needed to go ahead and create some Zapier zaps to get it to notify our admin rooms in HipChat and push tracked issues to Basecamp. Not the ideal solution (since Zapier can also get expensive), but it works for now.