With GitLab you can set and modify people’s permissions according to their role. In GitHub, you can decide if someone gets a read or write access to a repository.
With GitLab you can provide access to the issue tracker (for example) without giving permission to the source code. This is obviously great for larger teams and enterprises with role-based contributors.
Built-in CI / CD & going Beyond CD
One of the big differences between GitLab and GitHub is the built-in Continuous Integration/Delivery of GitLab. CI is a huge time saver for many development teams and a great way of QA (nobody likes pull requests that break your application).
GitLab offers their very own CI for free. No need to use an external CI service. And if you are already used to an external CI, you can obviously integrate with Jenkins, Codeship and others.
As GitLab mentioned with its latest release of 10.0, GitLab is clearly addressing the DevOps market as well offering a operations dashboard that lets you understand the dependencies of your development and DevOps efforts.
I think I was naive in CI by assuming it was “normal” to git!!!