La gestion de versions avec Git
Apprenez à gérer les versions de votre projet et à collaborer plus facilement en équipe avec Git.
À propos de la formation
Git est le logiciel de gestion de versions décentralisé le plus utilisé. Il facilite le travail collaboratif et parallèle sur l'ensemble des fichiers de vos projets. Vous apprendrez le fonctionnement général de Git, à créer et naviguer dans des dépôts, à créer des révisions et manipuler l'historique, à créer des branches et gérer les conflits, et à collaborer, partager et intégrer les modifications de votre équipe.
Programme
Présentation de Git
- L'histoire de la création de Git
- La centralisation vs la décentralisation
- Les alternatives à Git
- Les concepts principaux (dépôts, commits, branches...)
- Installer Git
- La configuration
Première prise en main
- Créer un nouveau dépôt
- Le dossier .git
- Le répertoire de travail et l'index
- Les états des fichiers
- Afficher le statut du projet
- Ajouter, déplacer, supprimer des fichiers
- Créer des commits
- Afficher l'historique des commits
- Voir le détail des modifications (diff)
- Restaurer les modifications des fichiers
- Ignorer des fichiers
Annulation des modifications
- HEAD et les références relatives
- Les différents types d'annulation
- git revert
- git commit --amend
- git reset
- git clean
Les branches
- Le principe général des branches
- La branche principale (master, main...)
- Créer une branche
- Changer la branche courante
- Lister, renommer et supprimer les branches
- Fusionner des branches avec merge
- Résoudre les conflits
- Utilisation des mergetool et difftool
- Le fast-forward
- Réorganiser l'historique avec rebase, squash, fixup et cherry-pick
- Les tags
- Les stashes
Collaboration et intégration
- Utilisation et clone d'un dépôt distant
- Récupération des modifications distantes (fetch, pull)
- Publier des modifications (push)
- Réécriture de l'historique distant (force push...)
- Tracking des branches
- Gérer des conflits en équipe et blame
- Architecture et workflow de travail en équipe (GitFlow, Merge Requests, Forks...)
- Les services en ligne (GitHub, GitLab...)
Aller plus loin
- Le modèle objet de Git (blobs, trees, refs, commits...)
- Recherche et debug avec bisect
- Le Reflog
- Les submodules
- Signature des commits
- Les autres outils de l'écosystème Git (GUI, LFS, Garbage Collect, ressources et documentations...)
Pré-requis
Aucune connaissance particulière. Des connaissances de base dans l'utilisation du terminal sont un plus.
Durée de la formation
2 jours