Présentation de Git
- Concepts de base du contrôle de version.
- La gestion centralisée ou distribuée.
- Les différentes solutions de gestion de versions : (Git, CVS, SVN, Mercurial, Bazaar...).
- Apports la décentralisation. Principe de fonctionnement.
Installation et configuration
- Installation sous différents systèmes : Unix/Windows.
- Le système d'émulation sous Windows msysgit.
- Configuration du fichier .gitconfig. La console.
- Déclaration d'un outil d'analyse de différentiel de versions.
Travaux pratiques
Installation et configuration de GIT sous Windows.
Utilisation de Git, les fondamentaux
- Le modèle objet Git : blob, tree, commit et tag.
- Le répertoire Git et le répertoire de travail.
- L'index ou staging area.
- Création et initialisation un dépôt.
- Les concepts de branche, tag et de dépôt.
- Outils de visualisation (Gitk, GitKraken...).
Travaux pratiques
Création et initialisation d'un dépôt. Utilisation d'un outil de visualisation.
Gestion locale des fichiers
- Consultation de l'état de l'arbre de travail.
- Ajout, ignorance, modification, suppression et recherche de fichiers.
- Annulation et visualisation des modifications.
- Parcours de l'historique des révisions.
- Les logs (statistique, formatage...).
Travaux pratiques
Manipulation des principales commandes Git de gestion de modifications de fichiers.
Gestion des branches
- La branche "main".
- Création de branches et de sous-branches.
- Changement de branche.
- Fusion d'une branche et gestion des conflits.
- Comparaison de deux branches.
- Réorganisation de l'historique : rebase, squash, fixup...
Travaux pratiques
Les principales commandes Git de gestion des branches (création, fusion, comparaison).
Partage du travail et collaboration
- Mise en place d'un dépôt distant public ou privé.
- Publier ses modifications (opération de push).
- Récupération des modifications de l'équipe.
- Les branches de suivi. Gestion des échecs.
Travaux pratiques
Mise en place d'un dépôt distant et simulation d'un travail collaboratif.
Mise en œuvre des outils Git
- Git-gui et TortoiseGit, la navigation graphique dans Git.
- GitWeb, la navigation graphique au sein des dépôts.
- GitHub, BitBucket, GitLab, les services d'hébergement de dépôts et de gestion de projets.
Travaux pratiques
Manipulation de quelques outils.