1

Maîtriser Git : Gérez vos Versions et Collaborez Efficacement

Module 1 : Introduction à Git

Objectif: Comprendre l’utilité de Git dans la gestion de versions et le développement de projets.

  • Introduction à la gestion de versions dans le cadre d’un projet de site web statique.
  • Installer et configurer Git ainsi que Python, Pip, Github, Gitlab et MkDocs.
  • Présenter Git et son écosystème (Github, Gitlab, Bitbucket, etc.).

Module 2 : Travailler seul avec Git

Objectif: Maîtriser les fondamentaux de Git pour un projet individuel de site web statique en Python et Markdown.

  • Les commandes de base : git init, git config.
  • Suivre et enregistrer des modifications : git add, git status, git commit.
  • Explorer les versions précédentes : git log, git diff.
  • Gérer des versions : git tag.
  • Mettre en ligne : git push.
  • Découvrir MkDocs, un peu de Python et le Markdown pour émuler le site localement et l’héberger en ligne.
  • Découvrir d’autres concepts : les branches (git branch, git checkout), un YAML, un README.md, sur Github et Gitlab.
  • Cloner un projet en ligne : git clone.
  • Travailler avec des alias de commandes.

Module 3 : Travailler en équipe avec Git

Objectif: Apprendre à utiliser Git dans un environnement collaboratif.

  • Découvrir les types d’équipe : propriétaire et collaborateur pour un projet à 2 ou collaborateurs égaux.
  • Administrer les équipes et déterminer les permissions.
  • Revoir les commandes et ajouter les mises à jour pour synchroniser son dépôt local avec le dépôt central : git fetch, git pull.
  • Les bonnes pratiques pour le travail en équipe.

Module 4 : Pull Request (requête de fusion)

Objectif: Maîtriser le processus de requête de fusion de code via un Pull Request.

  • Introduction à Pull Request, la contribution à un projet et le processus de requête de fusion.
  • Proposer une requête de fusion (Pull Request).
  • Traiter la requête sans conflit : confirmer ou rejeter la requête.
  • Faire la mise à jour : git fetch, git pull.
  • Stratégies de gestion des Pull Requests en équipe.

Module 5 : Gestion des conflits de versions

Objectif: Apprendre à gérer les conflits de versions et à les résoudre.

  • Comprendre les conflits de versions : causes et détection.
  • Traiter la requête avec conflit : procéder ou rejeter la requête.
  • Résoudre manuellement des conflits : git status, git mergetool.
  • Utiliser des logiciels de gestion de conflits (VSCode, Meld, etc.).
  • Meilleures pratiques pour éviter les conflits : utiliser la remise git stash.
  • Gérer la remise : ajouter, extraire, nettoyer, etc.

Module 6 : Synchronisation et intégration continue

Objectif: Gérer les flux de travail d’intégration en équipe.

  • Différencier les dépôts origin et upstream.
  • Introduction aux concepts de CI/CD, intégration continue et structure triangulaire.
  • Introduction aux branches : git branch, git checkout -b.
  • Introduction aux passerelles HTTP et SSH et gestion des clés de chiffrement SSH.
  • Découvrir les backtracks, l’historique et d’autres logiciels conviviaux.
  • Explorer le pipeline CI/CD, intégration et déploiement continus.