Logo de l'organisme de formation

La formation au coeur de l'avenir technologique

Représentation de la formation : Git - Avancé

Git - Avancé

Formation présentielle
Durée : 21 heures (3 jours)
Durée :21 heures (3 jours)
HT
S'inscrire
Durée :21 heures (3 jours)
HT
S'inscrire
Durée :21 heures (3 jours)
HT
S'inscrire

Formation créée le 10/03/2025.

Version du programme : 1

Programme de la formation

Objectif de la formation : Cette formation avancée vise à permettre aux participants d’approfondir leur maîtrise de Git en explorant ses fonctionnalités avancées : gestion des branches complexes, résolution avancée des conflits, automatisation avec Git Hooks, workflows collaboratifs (GitFlow, GitOps), et optimisation des performances.

Objectifs de la formation

  • Maîtriser les branches avancées et les workflows collaboratifs (GitFlow, Trunk-Based Development, Forking Workflow)
  • Gérer les conflits avancés et effectuer des modifications complexes (rebase, cherry-pick, squash, interactive rebase)
  • Utiliser les Git Hooks et automatiser des tâches avec des scripts personnalisés
  • Gérer l’historique Git et nettoyer les commits avec rebase et amend
  • Sécuriser et optimiser les performances des dépôts Git
  • Automatiser l'intégration et le déploiement avec GitLab CI/CD et GitHub Actions

Profil des bénéficiaires

Pour qui
  • Développeurs expérimentés travaillant en équipe
  • Architectes logiciels et responsables techniques
  • Ingénieurs DevOps souhaitant approfondir Git dans les pipelines CI/CD
  • Administrateurs de dépôts Git (GitHub, GitLab, Bitbucket)
Prérequis
  • Bonne maîtrise des commandes de base de Git
  • Expérience de travail avec les branches et les dépôts distants
  • Connaissance des flux de travail collaboratifs avec Git (merge, pull request, push)

Contenu de la formation

  • Gestion avancée des branches et des workflows Git (2h)
    • Différents workflows collaboratifs : GitFlow, Trunk-Based Development, Forking Workflow
    • Comparaison des stratégies de fusion : Merge vs Rebase vs Cherry-Pick
    • Bonnes pratiques pour la gestion des branches en entreprise
    • Travail Pratique : Mise en place d’un workflow GitFlow complet sur un projet
  • Rebase, Squash et gestion avancée des commits (2h)
    • Rebase interactif (git rebase -i)
    • Fusion de commits (git squash)
    • Annulation et modification de commits (git amend, git reset, git revert)
    • Comparaison entre rebase et merge
    • Travail Pratique : Réécriture de l’historique Git avec rebase et squash pour améliorer la lisibilité des commits
  • Gestion avancée des conflits et des merges (2h)
    • Identification et résolution des conflits complexes
    • Outils avancés pour gérer les conflits : diff, merge tools (VS Code, Meld, Beyond Compare)
    • Techniques de merge automatique et gestion des conflits avec rerere
    • Travail Pratique : Simulation de conflits complexes et résolution efficace avec Git Mergetool
  • Optimisation et nettoyage d’un dépôt Git (1h)
    • Réduction de la taille d’un dépôt : git gc, git prune, git fsck
    • Recherche et suppression des fichiers volumineux avec BFG Repo Cleaner
    • Nettoyage des branches locales et distantes
    • Travail Pratique : Optimisation d’un dépôt Git contenant des fichiers volumineux
  • Automatisation avec Git Hooks (2h)
    • Introduction aux Git Hooks (pre-commit, pre-push, post-merge)
    • Automatisation des vérifications de code (linting, tests unitaires avant commit)
    • Scripts personnalisés pour sécuriser les workflows Git
    • Travail Pratique : Création d’un hook pré-commit pour bloquer les commits contenant des erreurs de syntaxe
  • Sécurisation des dépôts et gestion des accès (2h)
    • Gestion des droits d’accès sur GitHub/GitLab
    • Chiffrement et protection des secrets avec GitCrypt et GPG signing
    • Configuration des rules et protections sur les branches
    • Travail Pratique : Configuration des protections sur un dépôt GitHub/GitLab (merge request approvals, branch protection rules)
  • GitOps : Intégration de Git avec les pipelines CI/CD (3h)
    • Introduction à GitOps et Infrastructure as Code (IaC)
    • Gestion des workflows de CI/CD avec GitHub Actions et GitLab CI/CD
    • Automatisation du déploiement avec Git
    • Travail Pratique : Mise en place d’un pipeline GitLab CI/CD pour tester et déployer automatiquement un projet
  • Travail collaboratif et pull requests avancées (2h)
    • Stratégies avancées pour gérer les Pull Requests et Code Reviews
    • Bonnes pratiques pour les Merge Requests et approbations
    • Gestion des reverts et rollbacks en cas de problème
    • Travail Pratique : Mise en place d’un processus de validation avec code review et merge request sur GitHub/GitLab
  • Git avancé et intégration avec des outils externes (2h)
    • Analyse des logs et tracking des modifications (git log, git blame, git bisect)
    • Intégration avec Jira, Trello et autres outils de gestion de projet
    • Gestion avancée des sous-modules Git (git submodule, git subtree)
    • Travail Pratique : Utilisation de git bisect pour identifier un bug dans l’historique du projet
  • Cas pratique final - Simulation d’un workflow en entreprise (3h)
    • Déploiement d’un processus complet de collaboration Git en équipe
    • Configuration d’un pipeline CI/CD avec tests et validation automatique
    • Simulation de scénarios de rollback et d’urgence en production
    • Travail Pratique : Mise en place d’un workflow GitOps avec une gestion avancée des branches et CI/CD
Équipe pédagogique

Professionnel expert technique et pédagogique.