git Fondamentals
Description
Ce stage a plusieurs objectifs : comprendre la philosophie d’un gestionnaire de source décentralisé, comprendre les concepts de git, être autonome avec la ligne de commande, connaître les workflows et les bonnes pratiques git en entreprise. Chaque point théorique sera accompagné de travaux pratiques pour permettre au stagiaire d'appréhender de façon très concrète l’outil.
Public concerné
Ce cours s'adresse aux développeurs expérimentés.
Objectifs de la formation
Ce stage a plusieurs objectifs : comprendre la philosophie d’un gestionnaire de source décentralisé, comprendre les concepts de git, être autonome avec la ligne de commande, connaître les workflows et les bonnes pratiques git en entreprise. Chaque point théorique sera accompagné de travaux pratiques pour permettre au stagiaire d'appréhender de façon très concrète l’outil.
Prérequis
Connaissance d’un langage de programmation.
Programme de la formation
Introduction
- Les gestionnaires de version existants
- Décentralisation du code
- Git et ses avantages
- Fonctionnalités et commandes de base
Avant de commencer
- Structure d'un dépôt Git
- Les différents objets gérés par Git
- Installation et configuration du client Git
Les commandes de base
- Créer un dépôt local
- Ajout et versioning de fichiers
- Supprimer, déplacer et renommer des fichiers
- Analyser l'historique des révisions
- Obtenir des informations sur l'état de la copie de travail
- Ignorer des fichiers
Aller plus loin avec les commandes basiques
- Staging de portions de fichiers
- Filtrage avancé du log
- Affichage de versions antérieures sans checkout
- Utiliser git-reset
Branches, fusion et conflit
- Création et gestion des branches
- Les étapes de la résolution de conflit
Collaboration, branches et dépôts distants
- Un ou plusieurs dépôts
- La commande git remote
- Auto-tracking de branches distantes
- Gestion des branches distantes
- Gestion de la synchronisation
Bien gérer ses commits
- Les implications de la modification d'historique
- Correction / revert de commits et/ou de merge
- Réorganiser ses commits
- Mettre de côté un travail en cours
- Tagger ses commits
Les principaux workflow
- Les différents workflows git
- Le cas de github
Debugger son code
- Localiser un bug manuellement grâce à la recherche dichotomique
- Automatiser la localisation de bug