Google Cloud Source Repositories vs. Bitbucket vs. GitHub: A Worthy Alternative?
Without much fanfare, Google introduced a new version control platform, hosted on its vast cloud. If this sounds somewhat familiar, you may be thinking of Google Code, which is now defunct. The big difference is that Google’s new Cloud Source Repositories is a git platform, which means it is a lot more flexible (and useful) than Google Code.
Google Code was launched back in 2006, a couple of years before GitHub and Bitbucket appeared on the scene, quickly overtaking Google Code in popularity. Google finally pulled the plug on Google Code in March 2015, citing lack of interest.
While this was the end of the road for Google Code, which fell out of favour years before it was officially pronounced dead, Google is not ditching the developer community. In fact, Google Cloud Source Repositories look rather promising, even at this early stage. Personally, I don’t expect a lot of people to ditch GitHub and transition to Google anytime soon, but the company has a way of attracting users to its services, even those that don’t look so tempting at launch. Google simply keeps pushing, polishing, innovating and offering incentives to new users. It usually works, although I am sure many of you are recalling a Google Plus joke or two right now. However, I am also sure Google is dead serious when it comes to this project.
Google Has The Muscle To Make It Happen
I’ve already mentioned two not-so-successful Google projects: Google Plus and Google Code, so you might be wondering why anyone should get excited about the new cloud repository, which is still in beta.
Well, for starters, Google has a good track record of turning betas into useful, popular and very dependable services. Thanks to its vast human and financial resources, Google should have no trouble developing Cloud Source Repositories into something more serious down the road, provided there is enough interest.
Another trump card is Google’s cloud infrastructure. It is second to none; the company has a reputation for bulletproof stability, and thanks to economies of scale, it can usually offer more for less (compared to smaller competitors).
The other thing to keep in mind is that the new Cloud Source Repositories service is not exactly a replacement for Google Code. While both services cater to developers, Google Code was designed for collaborative open-source projects, and on top of code it also allowed the hosting of other types of content, such as documentation, wikis and so on. However, Cloud Source Repositories is more or less a traditional Git service. There are no bells and whistles, although there are a few features that should help speed up adoption.
Cloud Source Repositories vs. GitHub vs. Bitbucket
Google’s new cloud code platform does not appear to be taking on GitHub head on. Instead, Cloud Source Repositories (CSR) will allow users to connect to repositories hosted on GitHub or Bitbucket. However, everything is automatically synced to the Google Cloud Source Repository.
Each project on Google’s Cloud Platform has a Cloud Source Repository, which can be accessed and used by multiple users. The permissions are inherited from the Cloud project, so all the user has to do is add project members and set their permissions.
The good news is that a Google CSR can be connected to another Git repository hosted on GitHub or Bitbucket. All changes will be synchronised on both platforms, as you can set Google CSR to automatically mirror from GitHub and Bitbucket.
Remember when I said Google has a habit of making people use its services without even knowing? Well, integration with the Google Cloud Platform and automated mirroring, supporting two of the biggest Git repositories out there, certainly sounds like a service many users will find appealing. Remember, this is still a beta, so Google could make it even more tempting by introducing further integration with other Google services. Cloud Source Repositories already looks and feels like a natural extension of the Google ecosystem, but with a bit more integration it could be even better.
So how does it compare to GitHub and Bitbucket?
Well, it’s still hard to say; it’s still a beta and no pricing info has been revealed. Still, it’s worth noting that GitHub and Bitbucket are closely matched in terms of features, although there are a few differences. For example, advanced users may prefer one or the other due to different billing models. It’s often argued that GitHub is a bit better for extra features and open-source projects, mainly because it hosts a number of major open-source projects. However, BitBucket may be a better choice for small and freelance developersbecause it offers more features for free (for example, unlimited private repositories with multiple collaborators). At the end of the day, it’s a matter of personal preference; both services are very good.
But what about Cloud Source Repositories? Personally, I think it’s still too early to say. GitHub and Bitbucket have been around for years, while Google CSR just made it to public beta a few weeks ago. The beta release is completely free to use, and you also get 500MB of storage for your precious source files. However, this, obviously, doesn’t paint the full picture. We have yet to see what Google plans to do in the long run.
While it’s still too early to get enthused, I am a cautious optimist and here is why:
- Google may offer seamless integration with other services.
- Pricing should be competitive.
- Google tends to throw in a lot of freebies.
- Mirroring GitHub and Bitbucket will make migration easy.
Unfortunately, we can only speculate at this point, so let’s leave it at that.
Using A Cloud Source Repository As A Remote
You can also add a Google CSR as a remote to your local Git repository and use it like any other Git remote.
You just need to install the Google Cloud SDK and Git, then proceed to add your repository as a remote. The process is straightforward and takes just a few steps. Since it’s well documented by Google, let’s not spend too much time on it.
Once it’s set up, you can use the Cloud Source Repository as a standard Git repository (standard commands such as push, pull, clone and log). For example, to push to a Cloud Source Repository, you need to use $ git push google master. You can also view the commit history, using $ git log google/master.
Once the files have been pushed to the Cloud Source Repository, they can be viewed, browsed, edited and committed from the Google Developer Console. Differences between the file at a specific commit can be accessed from the file contents view, by selecting the Diff Against selector. The Commit History button is used to view the contents of a file at a specific commit. While viewing a file, you can use Edit to change it and commit the change.