Formation en DevOps: Git - Avancé - Ascent Formation
Retour aux formations
DevOps

Git - Avancé

3 jour(s)21h

Description

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 pédagogiques

  • 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

Public concerné

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)

Déroulé du programme

1

Gestion avancée des branches et des workflows Git (2h)

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
2

Rebase, Squash et gestion avancée des commits (2h)

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
3

Gestion avancée des conflits et des merges (2h)

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
4

Optimisation et nettoyage d’un dépôt Git (1h)

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
5

Automatisation avec Git Hooks (2h)

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
6

Sécurisation des dépôts et gestion des accès (2h)

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)
7

GitOps : Intégration de Git avec les pipelines CI/CD (3h)

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
8

Travail collaboratif et pull requests avancées (2h)

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
9

Git avancé et intégration avec des outils externes (2h)

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
10

Cas pratique final - Simulation d’un workflow en entreprise (3h)

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

Informations

Durée

3 jour(s)

21h

Tarif

2090 € HT

HT