Git pour les PM : livrer en équipe sans risquer la prod
Contribuer sans risque à un dépôt existant avec CI/CD : branches courtes, pull requests relues, checks et prévisualisations, conflits, filets de sécurité, annulation propre et agent IA encadré.
Contribuer vous-même au code d'un produit qui a déjà une équipe de développement, une intégration continue et une production, sans jamais la mettre en danger. Vous apprenez à lire un dépôt et son pipeline, à travailler sur une branche courte, à ouvrir une pull request que l'équipe a envie de relire, à passer les checks et la prévisualisation, à résoudre un conflit, à annuler proprement un changement et à encadrer un agent de code IA dans ce circuit. Vous terminez en livrant une petite amélioration de bout en bout dans un dépôt d'entraînement.
Ce que vous saurez faire
- Lire un dépôt existant et son pipeline (README, CONTRIBUTING, CODEOWNERS, workflows de CI, environnements) pour savoir qui relit quoi, ce qui est vérifié et ce qui part en production, quand.
- Travailler sur une branche courte avec les commandes Git du quotidien (ou leurs équivalents GitHub), des commits petits et nommés selon une convention, et rester synchronisé avec main.
- Ouvrir une pull request petite et bien décrite, obtenir la bonne relecture, passer les checks requis, valider la prévisualisation et choisir la méthode de fusion.
- Résoudre calmement un conflit de fusion simple, en ligne de commande ou dans GitHub, et savoir quand demander de l'aide.
- Évaluer les filets de sécurité d'un dépôt (protection de branche, checks requis, relecture obligatoire, feature flags, staging, déploiement progressif) et proposer ceux qui manquent.
- Choisir la bonne façon d'annuler un changement (restore, revert, reset, retour arrière du déploiement) selon qu'il est local, poussé, fusionné ou déjà en production.
- Encadrer un agent de code IA dans un dépôt d'équipe (branche dédiée, règles écrites, secrets protégés, preuves de vérification, relecture humaine avant fusion).
- Relier des changements fusionnés à une version (tag, versionnage sémantique, changelog) et rédiger des notes de version utiles aux utilisateurs.
Prérequis
- Savoir ouvrir un terminal et y taper une commande (cd, ls), ou être prêt à suivre les équivalents dans l'interface GitHub
- Savoir ce qu'est un commit et un dépôt GitHub, au moins de nom
- Comptes et outils : Git installé (git --version), un compte GitHub ; un agent de code comme Claude Code est utile pour le module 5 mais pas obligatoire
- Cours recommandé avant celui-ci : Construire et mettre en ligne une app web avec un agent de code IA (Git en solo, premier déploiement). Ce cours-ci en est la suite : travailler à plusieurs dans un dépôt et un pipeline existants.
- Ce cours ne remplace pas une formation de développeur : il vise une contribution sûre à des changements limités (texte, interface, configuration simple), relus par l'équipe.
Programme
Que vais-je savoir faire à la fin de ce cours, et dans quel ordre ?
- Présentation du cours2 étapes
Objectif · À la fin de cette présentation, vous saurez ce que vous serez capable de faire dans un dépôt d'équipe (livrer un changement par pull request sans risque pour la production) et par quels cinq modules le cours vous y conduit.
Qu'est-ce qui se passe entre mon commit et la production, et qui décide ?
Objectif · À la fin de cette leçon, vous serez capable d'expliquer où se trouve un changement (fichiers, index, commit local, dépôt distant, main) et de dire, à partir de git status et git log, ce qui manque pour qu'il atteigne la production.
Objectif · À la fin de cette leçon, vous serez capable de lire les fichiers clés d'un dépôt existant (README, CONTRIBUTING, CODEOWNERS, workflows de CI, configuration de l'hébergeur) pour dire qui relira votre changement, ce qui sera vérifié, où le tester et quel événement l'enverra en production.
Quelles commandes utiliser, dans quel ordre, et comment nommer mon travail ?
Objectif · À la fin de cette leçon, vous serez capable d'enchaîner les commandes Git d'une journée de contribution (clone, switch -c, status, diff, add -p, commit, push -u, fetch, pull, log) ou leurs équivalents dans GitHub, en sachant ce que chacune modifie et comment repérer une erreur avant qu'elle parte sur le dépôt partagé.
Objectif · À la fin de cette leçon, vous serez capable de comparer le développement basé sur le tronc et Git flow pour un contexte donné, de nommer une branche selon une convention lisible et d'écrire des messages de commit au format Conventional Commits.
Comment obtenir une relecture rapide, passer les vérifications et fusionner sans surprise ?
Objectif · À la fin de cette leçon, vous serez capable d'ouvrir une pull request petite et complète : titre clair, description (pourquoi, quoi, comment tester, risques), lien vers le ticket, statut brouillon ou prêt, et relecteurs adaptés grâce à CODEOWNERS.
Objectif · À la fin de cette leçon, vous serez capable de répondre à une relecture, d'interpréter les checks requis, d'utiliser la prévisualisation comme test d'acceptation et de choisir une méthode de fusion (commit de fusion, squash, rebase) en connaissant ses effets sur l'historique.
Objectif · À la fin de cette leçon, vous serez capable de lire des marqueurs de conflit, de résoudre un conflit simple en ligne de commande ou dans l'éditeur de GitHub en conservant l'intention des deux côtés, de vérifier le résultat, et de reconnaître les conflits à confier à un développeur.
Qu'est-ce qui empêche une erreur d'atteindre les utilisateurs, et que faire si elle passe quand même ?
Objectif · À la fin de cette leçon, vous serez capable d'auditer les filets de sécurité d'un dépôt (protection de branche ou rulesets, checks requis, relecture obligatoire, prévisualisation et staging, feature flags, déploiement progressif) et de proposer, avec un indicateur, ceux qui manquent le plus.
Objectif · À la fin de cette leçon, vous serez capable de choisir la bonne façon d'annuler un changement selon l'endroit où il se trouve (fichier, commit local, branche partagée, main, production) : git restore, git reset, git revert, bouton Revert d'une pull request ou retour arrière du déploiement, sans jamais forcer l'historique partagé.
Comment faire travailler un agent IA dans ce circuit, marquer une version et livrer ma première amélioration ?
Objectif · À la fin de cette leçon, vous serez capable de faire travailler un agent de code comme Claude Code dans le circuit de l'équipe : sur une branche dédiée, avec des règles écrites dans CLAUDE.md, des preuves de vérification, des secrets protégés et une relecture humaine de chaque diff avant la fusion.
Objectif · À la fin de cette leçon, vous serez capable de déterminer le prochain numéro de version selon le versionnage sémantique à partir des changements fusionnés, de savoir comment un tag est créé et publié, et de rédiger des notes de version utiles aux utilisateurs.
Objectif · À la fin de cet atelier, vous aurez livré une petite amélioration par pull request dans un dépôt d'entraînement doté d'une CI et de prévisualisations, en respectant une définition de « prêt à fusionner » et en gardant les preuves de chaque étape.