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 et utiliser Git
- La configuration
Première prise en main
- Créer et cloner 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 stashes
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 d'un mergetool
- Le fast-forward
- Le rebase
- Merge vs Rebase
- Le cherry pick
- Les tags
Collaboration et intégration
- Les services d'hébergement (GitHub, GitLab...)
- Utilisation et clone d'un dépôt distant
- Récupération des modifications distantes (fetch, pull)
- Publier des modifications (push)
- Gérer des conflits en équipe
- Réécriture de l'historique distant (force push...)
- Workflow de travail en équipe (branches de feature, Gitflow, pull requests, forks...)
Aller plus loin
- Le rebase interactif (squash, fixup, reword...)
- Recherche avancée (git log -S, git grep et git blame)
- Le reflog
- Le modèle objet de Git (blobs, trees, commits...)
- Les interfaces graphiques et autres clients Git
- Quelques ressources, guides et tutorials
- Aller encore plus loin (LFS, Hooks, Bisect, Submodules, Signature, Garbage Collect...)
Pré-requis
Aucune connaissance particulière. Des connaissances de base dans l'utilisation du terminal sont bienvenues.
Durée de la formation
2 jours