GitLab est une application basée sur le Web qui possède une interface utilisateur graphique, mais peut aussi être installé sur son propre serveur. Les projets, qui renferment le code à éditer dans des archives numériques appelées repositories (référentiels), constituent l’élément central de GitLab. Les dossiers projet contiennent tous les contenus et fichiers du projet logiciel, qui peuvent être des fichiers JavaScript, HTML, CSS, PHP...
GitLab fonctionne dans les grandes lignes de la façon suivante : pour commencer, tous les participants à un projet téléchargent sur leur ordinateur une copie du référentiel central. Par la suite, les modifications apportées au code sont toujours d’abord effectuées au moyen de ce qu’on appelle des commits. Après l’édition du code, les modifications sont ensuite ajoutées au référentiel central.
Une autre fonction importante est le branching. L’utilisateur peut créer une « branche » qui bifurque du tronc, c’est-à-dire de la partie principale du code, et dont le code peut être édité séparément. Cette fonction est intéressante pour pouvoir introduire et tester de nouvelles fonctionnalités sans perturber les travaux de développement au niveau du tronc.
Grâce à des outils intégrés de Continuous Delivery et Continuous Integration, GitLab se prête bien à l’utilisation des branches et offre différentes fonctions utiles comme les « merge requests » et la création de « forks ». C’est pour cela qu’il fait partie des outils d’intégration continue les plus populaires.