Git Total ARC Informatique 3j
Découvrir, comprendre et maîtriser Git, les bonnes pratiques pour booster la productivité seul·e ou en équipe…
Objectifs
La formation Git Total vise à permettre aux apprenants 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 apprenants 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, ClearCase, TFS, Mercurial ou Bazaar, est utile 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.
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 (
.gitignore
,.git/info/exclude
…)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 le stage
- avec ou sans les untracked
Aspect pratique face au conservatisme de Git lors d’une demande de fusion
Récupérer un commit « perdu »
Le reflog
Modalités de préservation et de purge
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
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
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
Récupérer des portions choisies de l’historique
Cherry-picking
Lister rapidement les commits et branches pertinents
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
Automatiser des traitements sur événements
Les hooks
Hooks en local et côté serveur
Scenarii classiques d’utilisation
Quelques exemples concrets
Bien penser son workflow
Rappels des approches classiques et principaux workflows documentés
Axes de réflexion et recommandations
Moyens pédagogiques et techniques, suivi et appréciation
Les apprenant·e·s reçoivent, chaque début de journée, l’ensemble des diapositives du support de cours au format web, afin de pouvoir faciliter leur suivi du plan de cours.
Après la session, ils reçoivent par ailleurs, avec un e-mail de debrief très fourni et riche en ressources, une archive de référence, contenant les codebases finalisées, entièrement documentées et testées, les slides de toute la formation et diverses ressources complémentaires.
mood_badNous sommes désolés, aucune session n’est disponible pour cette formation
Vous souhaitez une formation intra entreprise ou sur mesure ?
Pour une formation personnalisée, en accord avec vos besoins, dans vos locaux ou dans nos locaux.
Demander ma formation intra / sur mesure