Accueil > Formations > DevOps, Automation & SRE > CI/CD & Usine Logicielle > Git : maîtriser le versioning et le travail collaboratif
Git : maîtriser le versioning et le travail collaboratif
Versionner, brancher, fusionner, collaborer : prenez en main Git pour gérer vos projets, seul ou en équipe, du dépôt local à la merge request !
Vue d'ensemble
Notions de base du développement logiciel (fichiers source, projet, éditeur de code).
Objectifs pédagogiques
Programme détaillé
Fondamentaux du contrôle de versions distribué
– Contrôle de versions : rôle, enjeux et différence entre approche centralisée et distribuée
– Histoire et positionnement de Git : pourquoi Git s’est imposé face à SVN, CVS, Mercurial
– Écosystème Git : panorama des plateformes (GitHub, GitLab, BitBucket) et place dans la chaîne CI/CD
– Modèle objet de Git : blob, tree, commit, tag — comprendre comment Git stocke réellement l’historique
– Intégrité par hash SHA : pourquoi un commit est immuable et comment Git détecte la corruption
– Les trois zones de travail : working directory, index (staging area), dépôt local
– Démonstration commentée du contenu interne d’un dépôt `.git`
– Lecture d’un graphe de commits pour identifier blobs, trees et références
Installation, configuration et prise en main
– Installation multi-OS : Git for Windows, macOS, Linux — choix du client et options par défaut
– Configuration utilisateur : `git config` global vs local, identité, éditeur, fin de ligne
– Personnalisation de l’environnement : alias de commande, outil de diff/merge, coloration
– Intégration éditeur : VSCode + GitLens, indicateurs visuels et commandes embarquées
– Aide intégrée : `git help`, manpages, ressources de référence
– Création et initialisation d’un dépôt local (`git init`) — premier commit
– Installation et configuration complète d’un poste Git
– Mise en place d’alias utiles et d’un outil de diff/merge visuel
– Initialisation d’un dépôt et premier commit
Workflow local au quotidien
– Cycle de vie d’un fichier : non suivi, suivi, modifié, indexé, validé
– Commandes essentielles : `status`, `add`, `commit`, `diff`, `log`
– Sélection fine : `git add -p` pour découper ses changements en commits cohérents
– Fichiers ignorés : `.gitignore`, patterns courants, `.gitignore` global
– Mise de côté du travail en cours : `git stash` (save, list, pop, drop)
– Annulations : `git restore`, `git reset` (soft/mixed/hard), `git revert`, `git reflog`
– Conventions de commit : structure d’un bon message, Conventional Commits en mention
– Exploration de l’historique : filtres, recherche, formatage des logs
– Production d’une série de commits propres à partir de modifications désordonnées
– Récupération d’un fichier supprimé et retour à un état antérieur
– Utilisation de `stash` pour basculer rapidement de contexte
– Rédaction de messages de commit alignés sur les conventions
Branches, fusion et résolution de conflits
– Branches comme pointeurs : modèle interne et coût quasi nul de création
– Manipulation : `git branch`, `git switch`, `git checkout`, suppression
– Fusion : fast-forward vs three-way merge, différences et cas d’usage
– Conflits de fusion : lecture des marqueurs, stratégies de résolution, outils visuels
– Rebase : réécrire l’historique pour le rendre linéaire — différence avec merge
– Rebase interactif : `squash`, `fixup`, `reword`, `drop` pour nettoyer ses commits
– Bonnes pratiques : quand rebase, quand merger, règle d’or de l’historique partagé
– Création de branches, navigation et fusion sur un dépôt préparé
– Résolution guidée de conflits de fusion réalistes
– Rebase interactif pour réorganiser une série de commits avant intégration
Synchronisation avec un dépôt GitHub distant
– Notion de remote : `origin`, ajout/suppression de remotes
– Clonage : `git clone`, configuration automatique du remote
– Synchronisation : `fetch`, `pull` (et son option `–rebase`), `push`
– Branches de suivi (tracking branches) : lien local / distant, mise en place
– Gestion des échecs de push : non-fast-forward, conflits distants, stratégies de récupération
– Tags : tags légers vs annotés, publication des tags sur le distant
– Authentification : HTTPS avec PAT (Personal Access Token) ou SSH avec clés
– Mise en place d’un dépôt distant et configuration des clés SSH
– Simulation d’un travail à plusieurs : push concurrent, gestion du rejet
– Récupération d’une branche distante et synchronisation continue
Collaboration en équipe sur GitHub et GitLab
– Plateformes : GitHub, GitLab, BitBucket — points communs et différences
– Pull Request / Merge Request : ouverture, description, conventions de revue
– Revue de code : commentaires, suggestions, approbations, intégration finale
– Stratégies d’intégration : merge commit, squash and merge, rebase and merge
– Workflows d’équipe : Gitflow (releases longues), GitHub flow (continu), trunk-based development — critères de choix selon le rythme de livraison
– Gestion des droits : rôles, protections de branches, règles d’approbation
– Hooks Git côté local : `pre-commit`, `commit-msg` — automatiser les vérifications avant push
– Panorama des intégrations en aval : CI/CD déclenchée par push ou pull request
– Création d’un projet d’équipe sur GitHub ou GitLab avec protection de branche
– Cycle complet : branche de feature, commits, ouverture d’une pull/merge request, revue, fusion
– Choix raisonné d’un workflow pour un cas projet donné
– Mise en place d’un hook `pre-commit` pour bloquer un commit en cas d’erreur de lint
Prochaines sessions
17 sept. 2026
Distance - Français
17 sept. 2026
Lille - Français
17 sept. 2026
Nantes - Français
17 sept. 2026
Paris - Français
28 oct. 2026
Lyon - Français
28 oct. 2026
Distance - Français
28 oct. 2026
Grenoble - Français
28 oct. 2026
Toulouse - Français
28 oct. 2026
Aix-en-Provence - Français
2 nov. 2026
Paris - Français
2 nov. 2026
Nantes - Français
2 nov. 2026
Lille - Français
2 nov. 2026
Distance - Français
7 déc. 2026
Lyon - Français
7 déc. 2026
Distance - Français
7 déc. 2026
Grenoble - Français
7 déc. 2026
Toulouse - Français
7 déc. 2026
Aix-en-Provence - Français
Avis des participants
Financement
Cette formation est éligible aux financements OPCO et FNE-Formation. Nos équipes vous accompagnent dans le montage de votre dossier.
En savoir plus sur le financement
