A few months ago I started a GitLab account out of curiosity. I wanted to see if there was anything that GitLab offered that GitHub didn’t.

In the last two weeks though, I’ve been moving my repositories back over to GitHub from GitLab.

There’s nothing wrong with GitLab, it’s an excellent source code management platform, and it has many great features. However, GitLab just didn’t make the grade that GitHub has set when it comes to source code management and hosting.

Heroku integration

Heroku’s pipeline integration is an excellent feature for managing the deployment process, but the only dependency for this to work is that you need to use GitHub for your source code management.

GitLab does offer their continuous integration tool, but it’s highly dependent on some different configurations and settings, all of which I don’t have the inclination to read up about or even research. To be honest, I would love to use GitLab’s tools, but the problem with them is that they require too much fussing.

GitHub, on the other hand, does one thing well and that’s host your source code for you. Sure you can also do pull requests, code reviews and many other great things but this is all nice to have besides being able to have one place to manage and host your source code.

Issue management

I have to say that GitLab’s issue management tools are very much on par with GitHub but where GitHub excels is their project, milestone and issue integration with pull requests. I find GitLab’s way of handling pull requests complex. I tried using them for a few months, but the whole process just didn’t feel as straightforward as GitHub’s.

Maybe it’s a familiarity with GitHub that stopped me from getting on with GitLab’s issue management tools. I’ve been using GitHub with some clients, and I have to say that managing their pull requests is a simple process.

A bigger community

There’s no doubt that GitHub has the more prominent community and despite attempts by others to create communities elsewhere it just isn’t possible to do so. It’s a bit like building another Twitter. There has been plenty of attempts, but nothing compare’s to Twitter when it comes to micro-blogging.

It would be nice if all GitHub, GitLab and Bitbucket could integrate with each other seeing as they all support using Git, but then what would be the incentive to pick one?

I’ve been hesitant about the number of businesses and organisations the use GitHub for their source code management, but as long as GitHub continues to support them and the rest of the GitHub community with great features and integration with others tools, then I don’t see a problem in sticking with GitHub.

More features for GitHub please

There’s no doubt that GitHub is a much bigger and better-suited source code management tool for me. I’ve used Bitbucket in the past, but even it can’t compare to the ease with which I can use GitHub. It’s time to hang up my projects on the GitHub website and start creating more projects there for people to see.

That doesn't mean though that GitHub has all the features that I need. I would like to see a few more options and features on GitHub though.

A repository template for labels and project columns would be a good thing. I’ve managed to replicate the labels I used for my Trello boards in GitHub issues as labels.

Another thing I would like to see is the assignment of labels to issues as I move them across project columns.

I would like to see the addition of an avatar for repositories. GitLab is on to a winner with their avatars for repositories.

I would also love to see greater management of repositories. Being able to group repositories into folders would make my job a lot easier and would also let me create a showcase folder where I could highlight all my best work.

Between GitHub, GitLab and Bitbucket there’s plenty of options for developers of all types for their source code management and hosting. For me though, GitHub ticks all the rights boxes.