Introduction à GitHub / GitLab
GitHub et GitLab : deux plateformes de collaboration au-dessus de Git, leur rôle, leurs points communs et leurs différences.
❓ Qu'est-ce que GitHub et GitLab ?
Git gère l'historique en local sur votre machine. Pour travailler à plusieurs, il faut un endroit commun où déposer les dépôts et organiser la collaboration : c'est le rôle de GitHub et GitLab. Toutes deux s'appuient sur Git, mais ajoutent une couche de services autour du code — hébergement, revue, suivi des tâches, automatisation.
GitHub, propriété de Microsoft, est devenue la plus grande plateforme de développement collaboratif et le lieu de référence de l'open-source mondial. GitLab, né comme alternative open-source, se distingue par une chaîne d'intégration continue (CI/CD) directement intégrée à la plateforme.
⚖️ Points communs et différences
Les deux plateformes couvrent le même périmètre essentiel : héberger des dépôts Git, gérer des projets, et faciliter la revue de code via les pull requests (côté GitHub) ou merge requests (côté GitLab). Où se séparent-elles ?
La différence la plus marquante concerne l'automatisation. GitLab embarque nativement un système de CI/CD et son exécuteur (Runner), ce qui permet de compiler, tester et déployer sans outil externe. GitHub s'appuie pour sa part sur GitHub Actions, une brique séparée mais très riche, et sur un écosystème de services tiers via la Marketplace. Sur le plan économique et juridique, GitLab revendique un modèle open-source et une tarification souvent plus avantageuse pour les entreprises, tandis que GitHub mise sur sa taille et sa communauté.
🛠️ Fonctionnalités clés de collaboration
Au-delà du simple hébergement, ces plateformes transforment Git en véritable espace de travail partagé. Les pull/merge requests sont le cœur de la collaboration : elles encadrent la proposition de modification, la revue par les pairs et la discussion avant intégration. Les issues tiennent lieu de gestionnaire de tickets pour suivre tâches et bugs, souvent doublées de tableaux Kanban pour la gestion de projet. Enfin, un wiki et des forums intégrés offrent la documentation et le support communautaire autour du code.
Quelques fonctions restent propres à chaque plateforme : GitHub Pages et GitLab Pages hébergent des sites statiques, GitHub Actions et GitLab CI/CD automatisent les pipelines, et GitLab Runner fournit le moteur d'exécution de ces derniers.
🐙 Utilisation quotidienne
Créer un dépôt se fait en quelques clics depuis l'interface web — bouton « New repository » sur GitHub, « Create new project » sur GitLab — puis on configure nom, visibilité et options, et le dépôt est prêt à recevoir du code.
Contribuer à un projet existant suit un cheminement en plusieurs étapes : forker le dépôt pour en faire votre propre copie, le cloner en local, créer une branche dédiée, y apporter vos modifications, puis soumettre une pull request pour proposer la fusion à l'équipe d'origine.
🐙 Points clés à retenir
GitHub et GitLab partagent le même socle collaboratif, mais GitLab mise sur un CI/CD intégré tandis que GitHub s'appuie sur un écosystème très étendu. Le choix dépend surtout de vos besoins d'automatisation et de votre contexte budgétaire — les deux restent d'excellents leviers pour le développement moderne en équipe.
Quiz du chapitre
Git
Terminez le quiz du chapitre pour le marquer comme complété.
Fonctionnalités avancées de Git
Comprendre la sémantique des commandes avancées : annuler sans réécrire l'historique (revert), déplacer le pointeur (reset), mettre de côté (stash) et marquer une version (tag).
Les bases de Git : Gestion locale
Dans cette section, nous allons explorer les concepts et commandes de base pour gérer un dépôt Git local.