1. Introduction à Git, GitHub et GitLab
Git
Système de contrôle de version décentralisé : créé par Linus Torvalds en 2005, Git permet de suivre l’historique des modifications d’un projet, de gérer différentes branches et de faciliter la collaboration entre développeurs.
Gestion des modifications : chaque commit sauvegarde l’état du projet, ce qui rend le retour en arrière ou l’exploration d’historiques très simples.
Collaboration simplifiée : grâce à son mode distribué, tout le monde peut travailler en parallèle sur le même projet, puis fusionner ses changements sans perdre l’historique.
GitHub
Plateforme d’hébergement et de collaboration : GitHub repose sur Git et propose une interface web facilitant le travail collaboratif.
Gestion de projets et de versions : en plus de stocker le code, GitHub inclut des outils de planification (projets, tableaux Kanban), de suivi des tâches (issues) et de revue de code (pull requests).
Hébergement public et privé : il est possible de créer des dépôts publics (ouverts à tous) ou privés (accessibles à une équipe restreinte).
Intégration continue : grâce à GitHub Actions, vous pouvez automatiser les tests et le déploiement de votre code.
GitLab
Fonctionnalités similaires à GitHub : GitLab propose également l’hébergement de dépôts Git, la gestion de projets, les merge requests, etc.
Plus personnalisable : GitLab offre des options d’auto-hébergement et de configuration avancée, ce qui peut être intéressant pour des équipes ayant besoin d’un contrôle total sur leur infrastructure.
Intégration DevOps : GitLab inclut nativement des outils de CI/CD (intégration et déploiement continus), de gestion de conteneurs (Registry) et de planification de projets (issues, milestones).
GitLab ULiège : l’Université de Liège propose sa propre instance GitLab accessible à l’adresse gitlab.uliege.be. Elle offre les mêmes avantages que GitLab.com tout en étant hébergée localement pour mieux répondre aux besoins spécifiques de la communauté universitaire.
Pourquoi utiliser Git ?
- Suivi précis des modifications
- Collaboration simplifiée
- Gestion efficace des versions et des branches
- Sécurisation et sauvegarde du code
- Intégration continue et déploiement