La gestion de versions avec Git

Apprenez à gérer les versions de votre projet et à collaborer plus facilement en équipe avec Git.

Image de La gestion de versions 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