Formation GIT - Gestion de versions
Objectifs
- Comprendre les principes d'un gestionnaire de version distribué, les apports de GIT
- Savoir mettre en oeuvre GIT pour gérer les codes sources d'un projet, les versions, corrections de bugs, etc…
Public
- Tout développeur, chef de projet, architecte, souhaitant utiliser git comme gestionnaire de versions
Prérequis
- Connaissance des processus de développement et d'un langage de programmation, et des bases Unix/Linux
- Les travaux pratiques se déroulent sur Linux
Programme
Présentation de Git
- La notion de gestionnaire de versions distribué.
- Historique de git, licence.
- Présentation des principes techniques de git : architecture, les objets stockés
- Les différentes utilisations de git
- Utilisation d'applicatifs stockés sous git, développement, partage de codes, gestions de modifications, de correctifs etc…
- Aperçu des types de workflows possibles.
Prise en main
- La commande git, options principales
- Installation et configuration de git
- Présentation des notions de base : référentiel, index, répertoire de travail, clônage
- Travaux pratiques : Création d'un premier dépôt
- Utilisation de la ligne de commande pour les opérations de base.Enregistrement de modifications simples
- Clônage d'un référentiel existant
Gestion des développements
- Etude des commandes principales de manipulation des fichiers :add, status, diff, commit…
- Gestion des branches : branch, checkout, merge, log, stash, etc…
- Travaux pratiques : mise en oeuvre sur un projet exemple représentatif des principaux cas d'utilisation
- Ajout, modification, suppression de fichiers et répertoires
- Gestion des commits
- Création de branches, navigation entre branches, fusion de branches
- Résolution des conflits
- Intérêt des branches temporaires
Travail collaboratif
- Objectif : partage et mise à jour de projets
- Fonctionnalités requises : mise à disposition des objets, analyse des modifications, intégration,etc…
- Définition des rôles (développeurs, intégrateurs)
- Notion de dépôt local et dépôt centralisé
- Etude des commandes : fetch, pull, push, remote…
- Pour le contrôle de fichiers : show, log, diff…
- Gestion des patchs : apply, rebase, revert…
- Travaux pratiques : Connexion à un réferentiel
- Synchronisation avec un référentiel distant
- Utilisation des tags pour identifier des commits
- Création et application de patchs sur un exemple de projet complet
Administration
- Tâches d'administration : nettoyage des arborescences, vérification de la cohérence de la base de données, état du service git
- Travaux pratiques : Installation d'un dépôt privé centralisé pour une gestion de sources collaborative, import de développements externes avec fast-import
Compléments
- Interagir avec des référentiels partagés via GitHub
- Exemples de projets sur GitHub, GitLab
- Présentation d'outils complémentaires : gerrit, un système de revue de code.Gitweb, l'interface web
- GitKraken, client graphique
Bonnes pratiques
- Echanges par rapport aux contextes projets et à l'organistion des équipes pour savoir définir l'utilisation de git la plus adaptée à chaque contexte projet.
Moyens et Méthodes Pédagogiques
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
- Un poste par stagiaire
- Formateur Expert
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
Validation des acquis
- Auto évaluation des acquis par le stagiaire via un questionnaire en fin de formation
- Attestation de fin de stage remise avec la facture