Formez votre équipe à Git et collaborez plus efficacement !

Objectifs et cible

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.

Pour tirer parti des nombreuses fonctionnalités de Git, votre équipe doit avoir une pratique solide et commune de l’outil.

Public ciblé

git-2Le 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

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-2git avancé

  • Durée : 1 jour
  • Niveau : avancé
  • Objectif : les participants seront capables d’installer et configurer SLE12 et l’intégrer dans un réseau existant. Ils seront capables les tâches administrateur les plus courantes.
  • Prix : 700 € HT

Méthode

La formation alternera apports théoriques et mise en applications de chaque notion abordée.

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

[maxbutton id=”1″]

git-2Nous proposons un serveur git qui hébergera des projets d’école utilisés lors des cas pratiques. Nous utiliserons également le cas d’un projet existant afin d’illustrer le propos.

Contenu

git en pratique

1Introduction

  • les gestionnaires de version existants
  • décentralisation du code
  • git et ses avantages
  • fonctionnalités et commandes de base

2Avant de commencer

  • structure d’un dépot Git
  • installation et configuration du client Git

Les commandes de base

  • créer un dépot local
  • 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
  • ignorer des fichiers

Aller plus loin

1Aller plus loin avec les commandes basiques

  • staging de portions de fichiers
  • filtrage avancé du log
  • affichage de versions antérieures sans checkout
  • les 5 modes de git-reset

2Enregistrer et partager la résolution manuelle d’une fusion

  • les étapes de la résolution de conflit
  • enregistrer la résolution du conflit

3Collaboration, branches et dépôts distants

  • un ou plusieurs dépôts
  • la commande git remote
  • auto-tracking de branches distantes
  • gestion des branches distantes
  • gestion de la synchronisation

4Bien gérer ses commits

  • les implications de la modification d’historique
  • correction / revert de commits et/ou de merge
  • revenir en arrière
  • réorganiser ses commits
  • mettre de côté un travail en cours
  • récupérer des portions choisies de l’historique
  • lister rapidement les commits et branches pertinents
  • tagger et signer ses commits

5Gérer un projet

  • application de patch
  • créer et appliquer des patches, résoudre des conflits
  • Intégrer des contributions externes
  • récupérer une version de fichier
  • Gestion des tags, nombre de commitet préparation de release
  • réalisation d’un snapshot ou d’une release
  • préparer des annonces de release : shortlog

6Workflow de développement à la kernel.org

  • développeurs, mainteneurs de sous-systèmes : git au cœur du workflow
  • gérer une release

7 Debugger son code

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

git-2git avancé

1Gestion de zones de travail multiples avec git worktree

  • Mise en place et gestion
  • Les limites actuelles

2Gestion de patches

  • Workflow de gestion de patches
  • Générer et envoyer des patches avec la commande git format-patch
  • Application de patches : les commandes git apply et git am

3Les attibuts git

  • Définition et utilisation
  • Cas pratiques d’utilisation

4Gestion de notes

  • Ajouter de l’information aux commits
  • Gestion des notes dans le dépot

5Les refspecs

  • Concepts de base
  • Utilisation

6Les sous-modules

  • Pourquoi y recourir ?
  • Concepts de base des sous-modules et structure de dépot
  • Ajouter un sous-module à un dépot existant
  • Clone un dépot contenant des sous-modules
  • Obtenir de l’information
  • Mise à jour des sous-modules et des dépots
  • Suppression de sous-modules

7Les subtrees

  • Subtrees versus sous-modules : quelles différences ?
  • Gestion des subtrees manuellement
  • Gestion des subtrees avec git-subtree
  • Mettre à jour les subtrees

8Enregistrer les résolutions de conflit pour les automatiser avec git rerere

  • Configuration du rerere
  • Enregistrer les résolutions de conflit
  • Exploiter l’enregistremenent de manière automatique

Dates

Nos prochaines dates de formation

git en pratique

  • 12 et 13 février 2018, Paris
  • 5 et 6 avril 2018, Paris
  • 4 et 5 juin 2018, Paris
  • 6 et 7 septembre 2018, Paris
  • 12 et 13 novembre 2018, Paris

git avancé

  • 16 février 2018, Paris
  • 13 avril 2018, Paris
  • 7 juin 2018, Paris
  • 13 septembre 2018, Paris
  • 15 novembre 2018, Paris

Demander un devis

Votre nom (obligatoire)

Votre adresse de messagerie (obligatoire)













 

Votre formateur


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 participe également au projet de la distribution Mageia.

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