Ce chapitre présente les notions dans un ordre progressif. Les commandes illustrent le fonctionnement ; les manipulations guidées sont regroupées dans les TP.
2.1 Git et GitHub : deux rôles différents
| Git | GitHub |
|---|---|
| Outil de gestion de versions installé sur votre machine. | Service d’hébergement de dépôts Git et de collaboration. |
| Historique, commits, branches et fusions. | Pull requests, issues, revue, droits et automatisation Actions. |
| Fonctionne localement sans compte GitHub. | Fournit un point de partage accessible selon les permissions. |
2.2 Dépôts et visibilité
Un dépôt rassemble les fichiers et l’historique du projet. Un dépôt public est consultable publiquement ; un dépôt privé limite sa consultation aux acteurs autorisés. Dans les deux cas, écrire dans le dépôt exige les permissions correspondantes.
Le README.md présente le projet, ses objectifs et son utilisation. Une licence précise les conditions de réutilisation ; un dépôt public n’implique pas automatiquement une permission de tout réutiliser.
2.3 Collaboration et organisation
Les issues suivent bugs, tâches et propositions. Les pull requests présentent des modifications à relire avant intégration. Une organisation regroupe dépôts et équipes ; les droits définissent qui peut consulter, modifier ou administrer.
La protection d’une branche peut imposer des validations et des checks. Les fonctions disponibles dépendent du forfait et de la visibilité du dépôt : le Standard ne reprend pas les chiffres d’utilisateurs et les limites tarifaires datés du support.
2.4 Interfaces et alternatives
Le terminal Git, GitHub Desktop et l’interface web donnent des vues différentes du même projet. GitHub Desktop rend les opérations courantes visuelles ; la ligne de commande permet de les composer et de diagnostiquer finement leurs effets.
GitLab et Azure DevOps proposent également hébergement, revue et automatisation. Le choix dépend des intégrations, de la gouvernance, de l’hébergement et du coût. Un modèle de collaboration doit rester compréhensible indépendamment de la plateforme.
2.5 GitHub comme plateforme d’équipe
Pour une équipe, GitHub ne sert pas seulement à héberger Git. Le dépôt devient un point de contrôle : revue des changements, règles de branche, automatisations, droits et traçabilité.
| Élément | Usage opérationnel |
|---|---|
| Pull request | Présenter un changement, lancer les contrôles et obtenir une revue avant intégration. |
| Branch protection / ruleset | Empêcher les modifications directes d'une branche sensible et imposer revues ou checks. |
| CODEOWNERS | Associer des zones du dépôt à des responsables de revue. |
| Issues | Tracer demandes, anomalies et travail à réaliser. |
| Actions | Automatiser tests, qualité, build, livraison ou opérations. |
| Releases + tags | Associer une version Git à une livraison lisible par l'équipe. |
main, mais ce n'est pas une obligation — doit être traitée comme une frontière de livraison : droits limités, PR, contrôles automatisés et historique traçable.