Formation Git : GitLab & GitFlow
1350€ HT / personne |
2 jours (14 heures) |
Présentation
En quelques années, Git est devenu le gestionnaire de source le plus utilisé au monde. Basé sur une gestion de versions décentralisée, Git est un logiciel libre et multiplateforme créé par le non moins célèbre Linus Torvalds. Il se veut simple et performant, Git a pour tâche principale de gérer l’évolution du contenu d’une arborescence.
Dans cette formation, vous apprendrez à maîtriser toute sa puissance ainsi qu’à utiliser les nombreux outils autour de ce projet, tels que GitLab et GitHub, et à collaborer efficacement en équipe grâce à Gitflow.
Nous commencerons par appréhender toutes les subtilités de Git en mode développement à travers l’utilisation de commandes de base, puis avancées, pour finir sur la gestion de l’historique et l’interaction avec des dépôts distants.
Nous aborderons également une approche approfondie de GitLab qui depuis sa création a su développer une infrastructure moderne, simple et claire pour devenir aujourd’hui un outil incontournable de gestion de projet web. Plus qu’un simple gestionnaire de code source, GitLab vous permettra de gérer les droits d’accès, les remontées de bugs, les sprints de votre cycle de vie logiciel.
GitLab permet également d’automatiser le déploiement de projets vers la production et avec ses outils complets, il vous permettra une intégration optimale et un développement en continu avec GitLab CI/CD (Continuous Integration & Delivery) qui vous accompagnera dans vos démarches DevOps d’intégration continue.
Et enfin GitFlow le workflow collaboratif multi-branche qui vous permettra une élaboration et une maîtrise de vos branches afin de mieux gérer des demandes clients ou leurs documents. Git Flow est une méthode, une architecture Git permettant de séparer au maximum le travail et de toucher le moins possible à la branche Master. Cette méthode représente donc une architecture en branches très efficaces pour vous aider dans vos développements web & logiciel.
2 modules à la carte sont possibles pour vos formations privatives :
- Des problèmes de migration vers Git ? Notre module complémentaire intraentreprise est fait pour vous : dans cette partie optionnelle, nous vous proposons de vous accompagner lors de la migration de SVN (Subversion) vers GIT.
- Envie de se lancer dans l’administration de GitLab ? Nous vous proposons un module complémentaire (uniquement en intra) : dans cette partie optionnelle, nous vous proposons de vous enseigner comment installer, déployer et administrer la solution GitLab.
Comme dans toutes nos formations, nous utiliserons la dernière version des logiciels (GitLab 17.3 et Git-Flow AVH 1.12)
Objectifs
- Maîtriser les commandes de base et les concepts fondamentaux de Git
- Gérer efficacement les dépôts locaux et distants ainsi que les interactions collaboratives avec Git
- Utilisation des outils d’intégration et de déploiement continu (CD) avec GitLab CI
- Utiliser des commandes avancées de Git et résoudre les problèmes complexes
- Adopter et utiliser GitFlow et GitLab pour des workflows collaboratifs et l’intégration continue (CI)
Public visé
Développeurs, Architectes, Administrateurs système
Pré-requis
Connaissances de base d’un gestionnaire de source
Pré-requis techniques
- Avoir l’outil Git installé
Programme de notre formation GitLab CI & GitFlow avec GIT
Jour 1 – Git & GitFlow
Introduction
- Contexte et historique de la gestion de versions
- Cas d’utilisation
- Présentation de Git
- Avantages de Git
Commandes de base
- Création du dépôt, dossier .git
- Les 3 états de Git
- Commandes add et commit
- Commandes status, log et diff
Les branches
- Intérêt du branching
- Pointeurs et HEAD
- Divergence
- Les différentes méthodes de fusion
- Bonnes pratiques de fusion
Remotes
- Dépôt central et multi-dépôt distants
- Les commandes fetch et pull
- La commande push
- Bonnes pratiques d’interaction
Commandes avancées
- Reset et reflog
- Rebasing, Squashing
- Gestion du Stash
- Blame
- Recherche d’erreurs avec bisect
- Cherry-pick
Jour 2 – Git Flow et GitLab
Workflows collaboratifs
- Pourquoi utiliser un workflow
- Les principaux workflows
- Zoom sur Git Flow et mise en pratique
- Github Flow et GitLab Flow
- Introduction à GitLab
- Forges logicielles
- Features de GitLab
- Comment choisir une forge logicielle
- CE vs EE
GitLab & GitFlow
- Branches de features / bugfix
- Branches de versions (et tags)
- Notions du Merge Request (MR)
- Explorer au travers d’un TP les interactions et collaborations qui peuvent être faites avec une MR, les fonctions qui assistent la revue de code, et les subtilités qui peuvent arriver
- Le Workflow idéal
- Outils externes qui peuvent compléter GitLab dans cette partie
GitLab Issues
- Présentation des issues
- Faire évoluer vos workflows graduellement pour favoriser l’adoption, plutôt qu’être trop disruptif
- Une démonstration & Live démo
GitLab CI
- Faire un TP CI, pour au moins détailler toute la partie GitLab (et éviter Docker)
- Montrer un cas simple avec une CI de tests unitaires (sans Docker)
- Montrer un cas plus intéressant avec des tests fonctionnels. (avec un cas Docker simple)
Bonnes pratiques de collaboration avec Git et GitLab CI
- Merge requests
- Rebase (+squash, +fast-forward)
- Branches protégées
- Wiki et documentation
- Intégration Continue avec GitLab CI
- Configuration GitLab CI/CD
- Pipelines de CI/CD
- Gestion des runners
- Déploiement continu et GitLab Runner
- Mise en place d’un workflow de collaboration sur GitLab
GITLAB ADMINISTRATION (MODULE COMPLÉMENTAIRE + 2 jours)
Utilisez toute la puissance de GitFlow en tant qu’administrateur
Installation et déploiement de GitLab
- Omnibus vs Docker
- Installation sur GCP
- Configuration GitLab SMTP
- Configuration bas-niveau
Administration de GitLab
- Tour d’horizon de l’interface de gestion
- Administration des projets
- Gestion des commits et du code source
- Gestion des accès
- Assignation des permissions
- Utilisation des issues
- Milestones pour la gestion de projets
MIGRER DE SUBVERSION VERS GIT (MODULE COMPLÉMENTAIRE + 1 jour)
Utilisez GIT en multidépôt et modifiez votre historique
TERMINOLOGIE GIT VS SVN (QR)
MIGRER DE SVN VERS GIT
- Retour d’expérience
- Les différentes méthodes
LA COMMANDE GIT-SVN
- La migration en 2 étapes
- Avantages et inconvénients
- TP: Migrer un dépôt SVN vers GIT
GESTION DE PLUSIEURS DÉPÔTS DISTANTS (REMOTE) AVEC GIT
- Contribuer sur un seul dépôt
- Contribuer sur plusieurs dépôts
- Les différents modes d’intégrations
- Exemple de maintenance d’un dépôt complexe : le projet GIT
- TP: Gérer plusieurs dépôts distants
COMMANDES BASIQUES ET MIGRATION
- Commandes basiques de GIT
- TP : Migration de SVN > GIT
COMMANDES AVANCÉES DE GIT
LES TYPES D’OBJETS
- Commit
- Blob
- Tree
- Tag
PORCELAINE
- Développer
- Inspecter
- Partager
- Fusionner
- Patcher
- Déboguer
- Administrer
- TP: Gérer un cycle complet de versioning
GIT HOOKS & SUB-REPOS SUBTREE VS SUBMODULES
- Dans quel cas utiliser un subtree ou un submodule
- Utiliser la commande native git submodule
- Faire un sub-tree à la main
- Utiliser un script : git-subrepo
GIT ATTRIBUTES
- Traitement des fichiers binaires
- Filtres bi-directionnels (clean & smudge)
- Attributs d’archivage
- Stratégie de fusion
GIT HOOKS
- Environnements des hooks
- Installer les hooks côté client
- Installer les hooks côté serveur
Pour aller plus loin
Formation GitOps
Formation Git Avancé
Formation Jenkins
Formation Ruby on Rails Avancé
Formation Terraform
Formation Terraform Avancé
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Témoignages
Les + : J’ai beaucoup apprécié le formateur qui semblait maîtriser son sujet et a su nous partager son savoir. Les exercices pratiques ont permis de mieux appréhender certaines notions abordées
Les – : Gros gros soucis avec l’outil de connexion à distance qui nous a fait perdre 45 minutes le premier jour
Afficher tous les témoignages
Les + : J’ai beaucoup apprécié le formateur qui semblait maîtriser son sujet et a su nous partager son savoir. Les exercices pratiques ont permis de mieux appréhender certaines notions abordées
Les – : Gros gros soucis avec l’outil de connexion à distance qui nous a fait perdre 45 minutes le premier jour
Les + : Le contenu est en parfaite adéquation avec mon besoin: utilisé git et gitlab en tant que developer voire même maintener.
De bonnes bases ont été expliquées et nous avons acquis les compétences nécessaires pour se servir de l’outil dans le cas nominal et pouvoir faire des recherches pour les cas les plus complexes.
En synthèse : Le formateur très compétent et pédagogue nous a permis de bien prendre en main l’outil.
Reste à nous de pouvoir pratiquer afin de compléter ce qui a été vue.
Les + : Bonne connaissance du sujet, TP et exercices ludiques et formateur
Les – : Beaucoup de théorie le 1er jour
Les + : formation complète avec exemples, suivi et pratique en groupe
Les – : Un peu rapide sur certaines parties
Je recommande la formation
Les + : Reprise des bases de Git
Mis en place des bonnes pratiques pour un flux de travail simple et efficace pour projet solitaire ou a plusieurs
Cours théoriques espacés de moments de pratique
Les – : Formation condensée et un peu rapide sur les aspects CI
Les + : Equilibre théorie/pratique bien maitrisé
Les – : Une reprise des commandes de base unix pourrait être pertinente en tout début de formation en fonction du publique.
Les + : Le formateur, il explique très bien les bases, ce qui permet d’avancer efficacement.
Les – : Il n’y en a pas
Les + : Mise en pratique
Je recommande la formation
Les + : Formateur compétant, pédagogue et disponible pour répondre aux questions de tous niveaux. Nous avons appris l’essentiel de GIT, qui nous sera très utile dans notre travail.
Je recommande la formation
Navigation Site Reviews
Noter la formation
1350€ HT / personne |
2 jours (14 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS