Objectifs
Avec le temps, GIT est rapidement devenu incontournable dans l’écosystème des équipes de développement, en particulier au sein des équipes agiles et DevOps. Sa pratique est désormais très répandue et les développeurs utilisent quotidiennement les opérations basiques de validation, création de branche et fusion. GIT peut pourtant apporter beaucoup plus, surtout lorsque l’on approfondit le sujet pour découvrir son fonctionnement interne.
Cette formation GIT : Fonctionnalités Avancées se concentre précisément sur cet approndissement. Après avoir explicité le contenu du répertoire .git et les différents fichiers manipulés par la commande git, la formation présente plusieurs commandes avancées pouvant aider le quotidien des développeurs. Elle présente ensuite en détail le mécanisme de hook permettant d’intégrer son propre code lors de l’exécution git. Enfin, elle illustre l’utilisation de sous-modules intéressants comme, par exemple, lorsque les modules d’un projet sont développés par des équipes différentes (approche micro-services).
A qui s'adresse cette formation
À l'issue de cette formation GIT Avancé, vous serez en mesure de :
-
Comprendre le fonctionnement interne de Git
-
Maîtriser les commandes et fonctionnalités avancées de Git
-
Intégrer du code spécifique à Git
-
Organiser des projets multi-dépôts
Contenu du cours
Introduction
Plumbing vs Porcelain
Les refs, le reflog
.gitattributes, son utilisation
Les notes git, leurs apports
git-patch, pourquoi utiliser les patchs
Les worktree : usage
Atelier
Navigation dans le dépôt
Manipulation directe des fichiers de .git
Visualisation des effets des commandes
Commandes git avancées
Méthodes de sélections des commits, référence ascendante, intervalles, comparaison de pointeurs
Les commandes cherry-pick et revert
Indexation interactive
Rebase interactif
La commande filter-branch
Blame et Bi-sect
Dangling commits
Atelier
Commandes Git avancées
Personnalisation de GIT via les hooks
Configurations avancées du client
Introduction aux hooks, leurs usages typiques
Hooks de commit côté client
Hooks de fusion ou de basculement
Hooks serveur
Les webhooks avec GitHub/GitLab
Atelier
Contraintes sur les messages de commit
Intégration avec CI
Les sous-modules de GIT
Cas d’usage des sous-modules, exemple architecture micro-services
La commande submodule et le fichier .gitmodules
Structure du dépôt contenant des sous-modules
Cloner un dépôt contenant des sous-modules
Mettre à jour un sous-module
Supprimer un sous-module temporairement
L’alternative subtree