Git en pratique

Formez votre équipe à Git et collaborez plus efficacement !

Nos formations sont proposées en inter-entreprise selon le calendrier proposé ci-dessous. Nous pouvons aussi nous déplacer au sein de votre entité. N’hésitez pas à nous demander plus d’information !

Epidémie de Covid19 : nous sommes en mesure de vous proposer nos formations à distance. 

Objectifs du cours

Git est l’un des gestionnaires de version les plus évolués à l’heure actuelle, et permet de s’adapter facilement à differents workflows.Une bonne connaissance de l’outil par toute l’équipe et le choix d’un modèle de gestion de version adapté au projet permettront de simplifier la maintenance et d’accélérer le developement du projet en facilitant la collaboration entre les differents developeurs. Les objectifs de cette formation :

  • Comprendre la philosophie d’un gestionnaire de source décentralisé.
  • Comprendre les concepts de Git.
  • Etre autonome avec la ligne de commande
  • Connaître les workflows et les bonnes pratiques Git en entreprise.

Prérequis

Le cours comporte 2 parties pour adresser tous les niveaux d’utilisation de l’outil.

“git en pratique” est proposé pour un public qui n’a pas ou peu d’expérience sur git et qui souhaite en appréhender le fonctionnement dans le cadre d’un mode de développement collaboratif.

“git avancé” est destiné à un public qui a déjà une certaine maîtrise de git et qui souhaite découvrir des modes d’utilisation avancés.

Détails pratiques

git en pratique

  • Durée : 2 jours
  • Niveau : débutant
  • Objectif : les participants seront capables d’utiliser git au quotidien et de mettre en oeuvre un workflow standard dans le cadre de projets en développement collaboratif
  • Prix : 1 400€ HT

git avancé

  • Durée : 2 jours
  • Niveau : avancé
  • Objectif : les participants complèteront la boite à outils de base avec des outils plus avancés répondant à des problématiques de gestion de dépot, d’historique et pour améliorer encore la gestion des commits
  • Prix : 1 400 € HT

La formation alternera apports théoriques et mise en applications de chaque notion abordée au travers. d”exercices mettant en pratique les sujets abordés et des illustrations concrètes grâce à l’exemple d’un projet existant

La formation comprendra également un cas pratique complet qui permettra la mise en application du workflow de développement proposé.

Nous proposons un serveur git école qui hébergera les projets lors des cas pratiques. 

git en pratique

Introduction

  • les gestionnaires de version existants
  • décentralisation du code
  • git et ses avantages

Avant de commencer

  • structure d’un dépot Git : internals
  • installation et configuration du client Git
  • le rôle de la zone de cache

Les commandes de base

  • ajout et versioning de fichiers
  • supprimer, déplacer et renommer des fichiers
  • analyser l’historique des révisions
  • obtenir des informations sur l’état de la copie de travail

Aller plus loin

Aller plus loin avec les commandes basiques

  • staging de blocs de modifications
  • filtrage avancé du log
  • affichage de versions antérieures sans checkout
  • utilisation de git reset, couteau suisse de Git
  • Gestion des tags

Collaboration et branches

  • fonctionnement des branches sous Git
  • créer, gérer et supprimer des branches
  • fusion de branches : 2 grands cas possibles
  • les étapes de la résolution de conflit

Interagir avec les dépôts distants

  • fonctionnement du clone de dépot
  • récupérer, partager des branches avec le serveur
  • auto-tracking de branches distantes
  • gestion de la synchronisation : push et pull sous toutes les coutures

Le rebase

  • réorganiser l’historique avec le rebase
  • peaufiner son historique avec le rebase interactif avant de le partager
  • gestion des conflits lors des opérations de rebase
  • merge vs rebase, quelle technique choisir ?

Bien gérer ses commits

  • mettre de côté un travail en cours avec git stash
  • récupérer des portions choisies de l’historique avec le cherry-pick
  • bonnes pratiques du commit
  • modifier facilement le dernier commit avec amend
  • écarter des commits sans modifier l’historique avec git revert

Workflows de développement 

  • gestion d’une release logicielle : git flow
  • gestion de fonctionnalités : github flow
  • gestion de branches de développement et d’état : gitlab flow

Debugger son code avec git bisect

  • localiser un bug manuellement grâce à la recherche dichotomique
  • automatiser la localisation de bug

git avancé

Fonctionnement interne de git : objets et branches

  • les objets à la base du stockage des modifications
  • fonctionnement interne des branches et de leur fusion
  • branches locales et branches distantes

Travailler sur les fichiers : espaces de travail, attributs

  • gestion de zones de travail multiples avec git worktree
  • les attibuts git : définition et utilisation

Travailler sur les commits : patches, notes, historique

  • gestion de patches : générer et envoyer des patches, réappliquer les patches
  • gestion de notes : ajouter de l’information aux commits, gestion des notes dans le dépot
  • gestion et recherche avancées de l’historique

Travailler sur les branches : historique, merges, reflog, refspecs, rebase

  • réécriture avancée de branche avec filter-branch et filter-repo
  • enregistrer les résolutions de conflit pour les automatiser avec git rerere
  • gérer les références dans la configuration : refspecs

Travailler sur les dépots : sous-modules, lfs

  • les sous-modules : cas d’utilisation, concepts de base et structure du dépot, gestion des sous-modules
  • Optimiser le versioning des fichiers volumineux dans Git avec LFS : configuration du serveur, utilisation côté client

Anne NICOLAS est cofondateur d’hupstream et passionnée d’Open Source depuis de nombreuses années. Elle a été release manager de la distribution Mandriva et a participé également au projet de la distribution Mageia.

Elle forme sur git depuis plus de 6 ans un public varié : développeurs, chefs de projet, administrateurs système, équipes qualité…

Nos prochaines dates de formation

git en pratique

  • 03 et 04/02/2020, à Paris
  • 14 et 15/04/2020, à distance
  • 11 et 12/05/2020, à distance
  • 18 et 19/06/2020, à distance
  • 14 et 15/09/2020, Paris
  • 23 et 24/11/2020, Paris

git avancé

  • 06 et 07/02/2020, à Paris
  • 17 et 18/04/2020, à distance
  • 24 et 25//06/2020, à distance
  • 09 et 10//09/2020, à Paris
  • 23 et 24/11/2020, à Paris

Demander un devis