Git Attitude

La gestion de sources qui fait du bien

Formation Git Total

La combo

La formation Git Total a remplacé et unifié les anciennes formations Git au Quotidien et Git Avancé.

Objectifs

La formation Git Total vise à permettre aux stagiaires qui la suivent de :

  • prendre en main l’outil Git et son environnement de travail ;
  • maîtriser l’ensemble des concepts qui sous-tendent les commandes Git et le fonctionnement général de l’outil ;
  • améliorer leur productivité et réduire leurs contraintes de développement en tirant au mieux parti des possibilités de Git ;
  • collaborer plus efficacement avec leurs collègues de projet en maîtrisant les mécanismes de gestion de branches, de fusion, et de réorganisation d’historique ;
  • savoir gérer une urgence alors que le dépôt n’est pas dans un état stable ou cohérent.
  • faciliter la mise en œuvre de normes d’écriture de code dans la société ;
  • automatiser les processus de gestion de code en rapport avec le dépôt Git ;
  • partager efficacement du code entre plusieurs projets tout en assurant une maintenance, centralisée ou distribuée.

Grâce à ce format, les stagiaires peuvent solidement ancrer leurs acquis Git tout frais, et s’approprient mieux les nombreuses commandes et scenarii variés présentés au fil de la formation. C’est véritablement une formule parfaite.

Public visé

La formation Git Total s’adresse principalement aux personnes travaillant sur des dépôts en gestion de source.

Elle vise aussi bien les personnes utilisant déjà Git qui souhaitent parfaire et étendre leur compréhension de l’outil et leurs connaissances (ou ont, à l’instar de la majorité des utilisateurs, le sentiment de sous-utiliser l’’outil, de faire « du Subversion en Git »), que celles qui désirent passer à Git dans les meilleures conditions possibles.

La formation répond aux frustrations de ceux qui perçoivent qu’ils passent à côté de nombreuses fonctionnalités utiles, à même de considérablement accélérer leur travail quotidien.

Une connaissance préalable d’au moins un gestionnaire de sources répandu, tel que Subversion, Perforce, VSSC, Mercurial ou Bazaar, est recommandée afin d’avoir déjà une familiarité avec les concepts basiques tels que les révisions/versions/commits, le tronc/master, les branches et les tags. Il ne s’agit toutefois pas d’un prérequis incontournable.

Programme

Préparer son environnement de travail

  • Configurations globale et locale
  • Aliases et raccourcis incontournables
  • Activer les complétions automatiques
  • Informations d’état automatiques dans le prompt

Concepts de la gestion de dépôt Git

  • Les « zones » : working directory/tree, index/stage, dépôt
  • Les « états » : non versionné, modifié, staged, non modifié
  • Aperçu du dossier .git

Premier dépôt

  • Initialisation
  • Import initial
  • Exclusions globale et locale (.git/exclude, .gitignore…)
  • Savoir ce qu’on a dans chaque zone / état en utilisant efficacement git diff
  • La notion critique de HEAD
  • Syntaxes de révision : du basique à l’avancé, mais toujours utile
  • Optimiser la consultation de l’historique : merveilles cachées de git log.

Commits atomiques et approche chirurgicale

  • Ajouts partiels
    • seulement certains fichiers ou certaines parties de fichiers
  • Unstaging
    • Annuler le dernier commit
    • Modifier le dernier commit
    • Raccourcis fréquents et pratiques

Gérer l’urgence avec le stash

  • Mettre son travail de côté le temps d’une tâche urgente
  • Récupérer le stash
    • façon classique ou dans une nouvelle branche,
    • avec ou sans l’index
  • Aspect pratique face au conservatisme de Git lors d’une demande de fusion

Prendre soin de son historique de révisions

  • Un historique au cordeau : quels intérêts ?
  • Réordonner les commits
  • Supprimer des commits
  • Découper des commits
  • Fusionner des commits
  • Annuler un commit ancien

Gestion de branches

  • Une branche en Git, c’est quoi au juste ? Contraste avec les systèmes plus classiques (SVN, etc.)
  • Fusion classique
  • Fast-forward
  • Stratégies de fusion et décisions automatiques
  • Méthodologie de résolution de conflits
  • Fusion vs. Rebasing : quand, pour qui, pourquoi ?
  • Scenarii classiques de rebasing
  • Stratégies de gestion de branches et de collaboration

Git reset, le couteau suisse méconnu de Git

  • Un reset, qu’est-ce que c’est ?
  • Les 5 modes de reset
  • Scenarii classiques où reset nous sauve la vie
  • Resets irréparables ou non
  • Ne jamais perdre un commit grâce au reflog

Dépôts distants

  • Autant de remotes qu’on veut…
  • Protocoles réseau de Git : préférences selon le contexte
  • Bien comprendre les relations entre fetch, merge, rebase, pull et push
  • Tracking ou non ?
  • Branches distantes vs. branches locales
  • Les bons réflexes pour avoir un push et un pull qui fonctionnent bien

Traquer automatiquement l’origine d’un bug

  • Principe de recherche dichotomique
  • Exécution manuelle de git bisect
  • Scripting et automatisation de bisect

Enregistrer puis partager la résolution manuelle d’une fusion

  • Configuration du rerere
  • Enregistrer la résolution du conflit
  • Exploitation automatique et vérification manuelle
  • Workflow appliqué : éviter les merges de contrôle sur les branches de longue durée

Comprendre et maîtriser les submodules

  • Principes fondamentaux
  • Différences avec svn:externals
  • Mise en place
  • Déploiement
  • Mises à jour
  • Les nombreux pièges

Comprendre et maîtriser les subtrees

  • Principes et contraste avec les submodules
  • Mise en place
  • Déploiement
  • Mises à jour
  • Subtrees ou submodules ? Quel choix pour quelle situation ?

Récupérer des portions choisies de l’historique

  • Cherry-picking
  • Lister rapidement les commits et branches pertinents

Récupérer un commit « perdu »

  • Le reflog
  • Modalités de préservation et de purge

Automatiser des traitements sur événements

  • Les hooks
  • Hooks en local et côté serveur
  • Scenarii classiques d’utilisation
  • Quelques exemples concrets

Témoignages

Encore un excellent moment passé en compagnie de @porteneuve pour une formation de qualité et de haut-niveau; dans un lieu agréable ; et dans la joie et la bonne humeur. Indispensable !

Matthias Dugué (@madsgraphics)

Une formation très riche, qui est accessible même aux personnes n’ayant pas de bases dans la gestion des versions de leurs applications. L’équipe est accueillante et souriante, l’accueil général chaleureux et le formateur est un orateur d’excellente facture.

Alexandre Noury

Formation intensive (dans le bon sens du terme) et bien faite, que j’ai commencé à recommander aux codeurs que je connais :)

Rémi Gérard-Marchant

Un formateur disposant d’une vraie compétence

Arnaud Lemaire

Formation agréable & accessible. J’attendais une mise au point des concepts GIT, c’est gagné ! Merci Christophe.

Frédéric Madrolle

Le formateur maîtrise son sujet. Très bon rythme. Très satisfaisant

Julien

Excellentes connaissances techniques du formateur

Damien Bendejacq

Aspects logistiques

La formation se déroule dans une salle privative climatisée, lumineuse, fonctionnelle et très confortable. L’ensemble des locaux sont facilement accessibles en transports en commun et classés ERP, notamment accessibles aux Personnes à Mobilité Réduite.

Espace La Rochefoucauld
11 rue de La Rochefoucauld
75009 Paris

Situé en plein cœur de Paris, tout près de la Gare Saint-Lazare et d’Opera, il est accessible via pas moins de 6 lignes de métro, 2 lignes de RER et 7 lignes de bus :

  • Métro : Saint-Georges, Trinité (ligne 12), St-Lazare (lignes 3, 9, 12, 13 et 14), Chaussée d’Antin (lignes 7 et 9)
  • RER : Haussman Saint-Lazare (ligne E), Auber (ligne A)
  • Bus : Saint-Georges (67, 74), La Bruyere (74), Trinité (26, 32, 43, 68, 81)

On trouve également nombre de parkings alentour.


Afficher Espace la Rochefoucauld sur une carte plus grande

Chaque stagiaire amène son propre poste de travail ou ordinateur portable.

L’accès internet est assuré par une connexion fibre très haut débit. La salle fournit un accès Wi-Fi ainsi que des connexions RJ45 pour les postes qui le nécessiteraient.

Vous n’êtes pas en région parisienne et cherchez un hébergement ? Nous vous proposons de consulter les hôtels Accor à proximité (Ibis, Mercure, Novotel, etc.) ou pourquoi pas de passer par airbnb ?

Afin de pouvoir pratiquer les commandes étudiées, les stagiaires recevront plusieurs jours ouvrés à l’avance des instructions d’installation détaillées pour leur système d’exploitation. Une assistance technique pourra être fournie si besoin.

Les formations vont de 4 à 10 stagiaires.

Les horaires indicatifs de la formation, pour un total de 7 heures par jour soit 14h de formation, sont :

  • 9h15 – Accueil, petit déjeuner (boissons chaudes et fraîches, viennoiseries)
  • 9h30 – Début de la journée
  • 12h30 – Déjeuner (inclus dans le prix)
  • 13h45 – Reprise
  • 16h15 – Pause café
  • 16h30 – Reprise
  • 18h – Fin de la journée

Prix indicatifs

Hors dates exceptionnelles, Git Total est normalement proposée aux tarifs suivants :

En version 2 jours

  • 1 ou 2 personnes : 759€ HT par personne.
  • 3 à 5 personnes : 683€ HT par personne.
  • À partir de 6 personnes : 607€ HT par personne.
  • Tarif fidélité : 645€ HT par personne.

En version 3 jours

  • 1 ou 2 personnes : 999€ HT par personne.
  • 3 à 5 personnes : 899€ HT par personne.
  • À partir de 6 personnes : 799€ HT par personne.
  • Tarif fidélité : 849€ HT par personne.

En savoir plus

Vous pourrez retrouver toutes les informations sur le formateur, les modalités d’inscription et de paiement, l’annulation et le remboursement, et enfin le règlement intérieur, dans la page des Informations Générales.

Les ateliers Git nécessitent quelques installations préalables sur votre machine : toutes les instructions sont ici pour OSX, Linux et Windows.

Commentaires

Ils nous font confiance : Kelkoo, MisterGoodDeal, PriceMinister, Blablacar / Comuto, Sarenza, Voyages-SNCF, LeMonde.fr, Fnac DIRECT, 20minutes, Orange, l’OCDE, Cisco, Alcatel-Lucent, Dassault Systèmes, EADS, Atos, Lagardère Interactive, Lesieur, L’Occitane en Provence, Météo France, 4D, Securitas, Digitas, Vivaki, Fullsix, Ekino, TBWA \ Paris, Valtech, Is Cool Entertainment, Open Wide…