Git & GitHub — Maîtrise du contrôle de version
Description du cours
Ce cours vous offre une maîtrise complète et pratique de Git, le système de contrôle de version le plus utilisé au monde, et de GitHub, la plateforme de référence pour la collaboration sur le code et le développement open source.
Vous apprendrez à gérer l'historique de votre code avec confiance, à collaborer dans des équipes professionnelles, et à adopter les workflows Git modernes utilisés dans l'industrie :
| Sujet | Description |
|---|---|
| Fondamentaux Git | Dépôt, commits, zone de staging, historique |
| Branches & Merge | Stratégies de branchement, merge, rebase, conflits |
| GitHub | Dépôts distants, push, pull, forks |
| Pull Requests | Revue de code, branches protégées, checks |
| Collaboration | Git Flow, GitHub Flow, développement trunk-based |
| Git Avancé | Stash, cherry-pick, bisect, hooks, submodules |
À qui s'adresse ce cours ?
| Profil | Pourquoi Git & GitHub ? |
|---|---|
| Développeurs (tous niveaux) | Compétence essentielle pour tout projet logiciel |
| Ingénieurs DevOps | Fondation pour CI/CD, GitOps, IaC |
| Étudiants | Première compétence technique demandée par les employeurs |
| Chefs de projet tech | Comprendre et superviser les workflows de contrôle de version |
| Designers / Rédacteurs techniques | Collaborer sur du texte et du code avec les équipes |
Objectifs pédagogiques
À la fin de ce cours, vous serez capable de :
- Initialiser et configurer un dépôt Git depuis zéro
- Commiter et gérer un historique de commits clair et lisible
- Créer et fusionner des branches en maîtrisant les conflits
- Utiliser GitHub pour héberger, partager et collaborer sur du code
- Soumettre et revoir des Pull Requests avec des standards professionnels
- Appliquer des workflows standard de l'industrie (Git Flow, GitHub Flow)
- Résoudre les conflits de merge avec confiance et efficacité
- Automatiser des actions avec des hooks Git et GitHub Actions
- Gérer des historiques complexes avec rebase, cherry-pick, bisect
- Sécuriser vos dépôts avec des branches protégées et des clés SSH
Structure du cours
Détail des modules
| Module | Sujet | Compétences clés | Durée |
|---|---|---|---|
| 00 | Introduction & Installation | Histoire Git, installation, première config, premier dépôt | 3h |
| 01 | Fondamentaux Git | Add, commit, log, diff, reset, checkout | 5h |
| 02 | Branches & Merge | Branch, merge, rebase, conflits | 6h |
| 03 | GitHub & Distants | Remote, push, pull, clone, fork | 5h |
| 04 | Collaboration & Pull Requests | PR, revue de code, branches protégées, workflows | 6h |
| 05 | Git Avancé | Stash, cherry-pick, bisect, hooks, submodules | 5h |
Prérequis
| Cours | Description | Niveau |
|---|---|---|
| Terminal / Ligne de commande | Navigation de base dans un terminal | Requis |
| Éditeur de texte | VS Code ou tout éditeur de texte | Requis |
| Compte GitHub | Compte gratuit sur github.com | Requis |
| Bases de programmation | N'importe quel langage pour les exemples | Recommandé |
Ce cours part de zéro absolu. Vous n'avez besoin d'aucune expérience préalable avec Git ou GitHub. Les compétences se construisent étape par étape, depuis le tout premier git init.
Outils & Technologies
| Outil | Version | Utilisation |
|---|---|---|
| Git | 2.x+ | Système de contrôle de version principal |
| GitHub | — | Dépôts distants et collaboration |
| VS Code | Dernière | Intégration Git native |
| Terminal | — | PowerShell, bash, zsh |
| GitHub CLI | Dernière | Commande gh pour GitHub depuis le terminal |
Travaux pratiques
| TP | Module | Objectifs | Durée |
|---|---|---|---|
| TP1 | Installation | Installer Git, configurer l'identité, créer le premier dépôt | 30 min |
| TP2 | Fondamentaux | Add, commit, annuler, explorer l'historique | 45 min |
| TP3 | Branches | Créer des branches, merger, résoudre des conflits | 60 min |
| TP4 | GitHub | Pousser un projet sur GitHub, gérer les remotes | 45 min |
| TP5 | Fork & Clone | Forker un projet open source, proposer des changements | 45 min |
| TP6 | Pull Requests | Workflow PR complet avec revue et merge | 60 min |
| TP7 | Git Flow | Appliquer Git Flow sur un projet simulé | 60 min |
| TP8 | Git Avancé | Stash, cherry-pick, bisect, hooks | 75 min |
Plus de 65% du temps de cours est consacré aux exercices pratiques. Chaque concept est immédiatement appliqué dans un exercice réel.
Évaluations
| Semaine | Évaluation | Poids | Contenu |
|---|---|---|---|
| 2 | Évaluation 1 | 20% | Bases Git, commits, historique |
| 4 | Évaluation 2 | 25% | Branches, merge, résolution de conflits |
| 6 | Évaluation 3 | 25% | GitHub, remotes, Pull Requests |
| 8 | Projet final | 30% | Workflow d'équipe complet avec Git Flow + PR |
Ce que vous construirez
À la fin du cours, votre projet final comprendra :
- Un dépôt Git avec un historique propre et professionnel
- Des branches suivant le modèle Git Flow
- Des Pull Requests avec des revues de code documentées
- Une simulation de workflow collaboratif entre plusieurs développeurs
- Un README.md avec les directives de contribution
- Des GitHub Actions automatisant les vérifications de base à chaque PR
Questions fréquentes
Dois-je savoir coder pour suivre ce cours ?
Non. Git fonctionne sur tout type de fichiers (code, texte, configurations). Les exemples utilisent des scripts simples, mais aucune connaissance en programmation n'est requise pour suivre le cours. Des bases en terminal suffisent.
Quelle est la différence entre Git et GitHub ?
Git est un outil local installé sur votre ordinateur qui suit les modifications de vos fichiers. GitHub est une plateforme en ligne qui héberge des dépôts Git et ajoute des fonctionnalités de collaboration (Pull Requests, Issues, Actions, etc.). Git peut fonctionner sans GitHub, mais GitHub nécessite Git.
Git est-il encore pertinent en 2026 ?
Absolument. Git est utilisé par plus de 90% des équipes de développement professionnelles dans le monde. C'est le standard incontesté pour le contrôle de version. Connaître Git est aussi fondamental que savoir taper au clavier pour un développeur.
Puis-je utiliser GitLab ou Bitbucket au lieu de GitHub ?
Oui ! Les concepts Git (branches, merge, rebase) sont identiques quelle que soit la plateforme. Le cours se concentre sur GitHub pour ses sections pratiques, mais tous les concepts s'appliquent directement à GitLab, Bitbucket ou tout autre hébergeur Git.
Combien de temps pour maîtriser Git ?
Après avoir terminé ce cours (~30 heures), vous aurez une base solide couvrant 95% des besoins quotidiens. La maîtrise vient avec la pratique : prévoyez 2 à 3 semaines d'utilisation régulière sur de vrais projets pour vous sentir pleinement confiant.
Ressources
Navigation rapide
🗃️ 00 - Introduction & Installation
6 éléments
📄️ Présentation
Maîtriser Git et la collaboration GitHub : branches, merges, pull requests, workflows et bonnes pratiques DevOps
🗃️ 01 - Git Fundamentals
4 éléments
🗃️ 02 - Branches & Merge
4 éléments
🗃️ 03 - GitHub & Remotes
4 éléments
🗃️ 04 - Collaboration & Pull Requests
3 éléments
🗃️ 05 - Advanced Git
4 éléments