PHP Classes

10 Aspects on Which BitBucket Is Better Than GitHub

Recommend this page to a friend!
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog 10 Aspects on Which B...   Post a comment Post a comment   See comments See comments (9)   Trackbacks (0)  

Author:

Viewers: 3,079

Last month viewers: 7

Categories: PHP Tutorials, PHP opinions, Sponsored

Most of us are familiar with Git, which is a very popular version control system. GitHub contributed to make Git very popular to the point that some people even confuse Git with GitHub.

However there are several other project hosting sites that provide better features than GitHub. BitBucket is one of those sites.

Read this article to learn about those features of BitBucket that in my opinion make it better than GitHub.




Loaded Article

Contents

Introduction

1. Free Private Repositories

2. Mercurial Support

3. Importing Repositories from other Version Control Systems

4. Integrated Issue Tracking System

5. Multiple Authentication Methods

6. Project Management Support with JIRA

7. Free Licenses for Students and Educators

8. Full Integration with LDAP

9. A Nicer Dashboard Based User Interface

10. Your Favorite Features

Conclusion

Try BitBucket Now Free

This article is promoting a product of a commercial company that is supporting this blog.

Introduction

By now every software developer should know what a version control system is. But let me explain what it is from my point of view just in case you are not aware or you have a different view.

A version control system is a software system that records the contents of the files of a project and all the changes you do to each file over time. This is good because you can go back in the history and recall what and why you did certain changes on each version.

A version control system also allows you to revert changes made to individual files or even the whole project back to a previous revision, compare changes to files over time, and keep track of who last modified something that might be causing a problem, who introduced an issue and when.

In simple terms version control systems usually allow to have a main repository that you pull the files from so you can work on them from your development machine.

In general each software project or component is stored in a different repository. In other words, a repository is the place where all files of a repository are stored, as well the information with the history of changes.

Distributed version control systems like those based on Git, allow you to have multiple copies of a repository for the same project, but that is a more complex aspect that I am not covering in this article. Besides Git there are other distributed systems like Bazaar, Mercurial and Daarcs.

I tried BitBucket and liked it so much that I think it would be useful for you to also learn about it, especially in comparison with GitHub which is better known by many developers. BitBucket supports Git and Mercurial and integrates well with a series of other tools that are very helpful to all of us software developers.

1. Free Unlimited Private Repositories

As I mentioned, it is good to separate each project or individual component in a different repository.

Many companies like GitHub provide free repositories as long as you make them public. This way they can advertise their service and attract customers to the paid service which is based on charging for private repositories.

BitBucket follows a different model because they have other products, so they do not charge for private repositories.

This means that if you have a project that you do not want to make public, you can keep it in a private repository. You can have as many free private repositories as you want.

This is good especially when you have projects tied to your company business, or when you have a project that you are not ready to reveal to the world. This is also good because you can have teams of people around the world collaborating in your private projects, that may as well be closed source, without worrying about project repository hosting costs like you would have with GitHub.

2. Mercurial Support

Mercurial is another less known alternative that has some advantages over Git. I am not going to cover Mercurial advantages here, but if you are familiar with it, with Bitbucket you have the choice to use Mercurial over Git if you prefer.

With GitHub you are stuck with only Git. So it is good that with BitBucket you have more choice.

3. Importing Repositories

In addition to its free private repositories, Bitbucket also allows you to import repositories from other version control systems like Git, mercurial, SVN, codeplex, google code and sourceforge. This is a very nice advantage if you need to transfer your repositories from a different environment or hosting platform.

4. A More Advanced and Integrated Issue Tracking System

Bitbucket has an integrated issue tracker out of the box with features such as setting permissions on issue creation, issue administration, issue tagging and so on.

With Bitbucket, you can also set permissions on repository forking. The entire goal is on making sure you can collaborate successfully on your enterprise projects while still making sure only the right eyes sees your source, wikis and assets.

While GitHub has its own issue tracker, it has limitations regarding setting who can create, close and view.

5. Multiple Authentication Methods

Have you ever wished you could just login into your GitHub account with one of the numerous social logins you have? With Bitbucket you can access your account with any of your Google, Facebook, OpenID, Twitter and even GitHub credentials.

Single sign-on is a nice feature to have, especially for teams with productivity as the ultimate goal. With single sign-on, developers spend less time on lost password requests which also means more productive hours.

With GitHub you need to register and login only with their own user name and password system.

As a side comment, keep in mind that while authenticating with social network accounts can make it faster and more comfortable to register and login for the users, that may also be a problem one day if your social network accounts get hacked.

This seems to be why BitBucket is phasing out all alternative login methods except for Google accounts. So for really security sensitive projects it may be better to register and login with your email, of a Google Apps account, or even integrating with LDAP server that you run in your company. See the point below regarding LDAP integration.

6. JIRA Integration

JIRA is a project management tool for Agile development teams developed by Atlassian, the same company that developed BitBucket. Therefore it is natural that Bitbucket provides a seamless integration with JIRA Software.

JIRA offers your software development teams the ability to easily create and estimate stories, build sprint backlogs, identify team velocities and team member's commitments, visualize team activities and report team's progress.

JIRA is a tool built for SCRUM and Agile teams. This tool integrates with Bitbucket, a source code management platform to make project management a whole lot easier.

7. Free Licenses for Students and Educators

As I mentioned, Bitbucket is developed by Atlassian, a company that recognizes the roles of students and teachers and makes it easy for them to teach and learn with premium-grade tools at their disposal.

It has a class room license for educators and computer science students with software suites that includes the JIRA bug tracker and agile projectt management softwares, Confluence for project wikis and collaboration, FishEye for source code exploration, Bamboo for continuous integration and Crucible for code review.

8. Full Integration with LDAP

LDAP (Lightweight Directory Access Protocol) is protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. LDAP is used by Microsoft products under the name of Active Directory. 

Bitbucket integrates seamlessly with LDAP and offer support for multiple LDAP servers and group synch. This is especially useful if you want to integrate the authentication of your project users with LDAP directories that you run in your company. If you used Microsoft Active Directory or other LDAP based products of other vendors, this will be something that your company will appreciate.

9. A Nicer Dashboard Based User Interface

Well this is a personal opinion but I can explain it with some logical arguments. Bitbucket's user interface follows a conventional dashboard-like design we are all accustomed to.

For the developers and managers who use a lot of dashboard based software for their day to day task of software creation, Bitbucket's interface design comes in as a nice integration. I think it is very good looking and very similar to other dashboard based applications.

10. Your Favorite Features

Well, BitBucket features are so extensive and they integrate so well with other tools from Atlassian, that I am sure I am missing some advantage of BitBucket that I am not aware. Therefore I would like to invite you to share your favorite features of Bitbucket that I did not mention, if you already use it of course.

Conclusion

By all means I do not want to imply that GitHub is bad but rather that there are very interesting thing provided by sites like BitBucket that may suit your needs better.

BitBucket is entirely focused on hosting source codes and projects for teams and companies, while GitHub major focus seems to be on individual projects and open source.

The ability to host private repositories for free, transfer project source codes from other version control systems giving members of a project team the choice to choose their own platforms, the ability to set conditions on project forking and so on, largely distinguishes Bitbucket from GitHub and makes it very interesting, so they can get more exposure to their work suitable for closed-source oriented and company/in-house projects, as well for Open Source projects that you may want to keep private for while.

As you may be aware, the PHP Classes site supports importing packages from Git repositories since 2011. That is good for their authors because they get much more exposure to their work.

On PHP Classes we can see that many projects are imported by their authors from GitHub. Since I did not see many projects imported from BitBucket, I assume that is because many developers are not yet aware of BitBucket advantages of how it can help you become more productive. So I hope this article was useful to clarify these facts.

So the next time you are about to pay $25 for private repositories on GitHub, just remember BitBucket offers you an equivalent service for free with even more nicer features.

If you liked this article, please share it clicking on the buttons at the top of this page. If you have a question or even a different opinion, post a comment here.

Try BitBucket Now Free

I guess by now you may be curious to verify that all these features that I mention work as well as I described. It is simple, just go on the BitBucket page. Click on the "Get started for free" green button in the middle of the page. Enter your email. Check your email for a confirmation message and click on the link. Then you are in.

Alternatively you can sign-up with your Gmail/Google account using the Login button at the top and then click on the button that says "Log in with Google". There is also a link below that says "Looking for GitHub, Facebook, or Twitter log in?". These can be used to login with Facebook, Twitter, Github or some OpenID providers like Yahoo!.




You need to be a registered user or login to post a comment

1,611,062 PHP developers registered to the PHP Classes site.
Be One of Us!

Login Immediately with your account on:



Comments:

4. The Trurh - Stefan Jibrail Froelich (2016-04-19 02:09)
I speak about why one is better or not... - 1 reply
Read the whole comment and replies

1. 8.5 aspects is not as catchy - jimmydorry (2016-04-18 19:48)
8.5 aspects is not as catchy as 10 aspects... - 1 reply
Read the whole comment and replies

2. bitbucket - Istvan Dobrentei (2016-04-18 19:47)
agree... - 2 replies
Read the whole comment and replies

3. How much did you get paid for that blog post? - Lao Neo (2016-04-18 19:00)
How much did you get paid for that blog post?... - 1 reply
Read the whole comment and replies



  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog 10 Aspects on Which B...   Post a comment Post a comment   See comments See comments (9)   Trackbacks (0)