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.