Gestion de code source et workflows

Comprendre les fondamentaux de Git pour gérer efficacement le code source et travailler en équipe.

Module 2 : Gestion de code source et workflows


2.1. Git et ses bases

Objectif : Comprendre les fondamentaux de Git pour gérer efficacement le code source et travailler en équipe.


Cours : Commandes Git essentielles

Initialiser et cloner un dépÎt :
  • Initialiser un dĂ©pĂŽt local :
    git init
  • Cloner un dĂ©pĂŽt distant :
    git clone URL_DU_DEPOT
Effectuer des modifications :
  • Ajouter des fichiers au suivi :
    git add chemin_du_fichier
  • VĂ©rifier l’état des modifications :
    git status
  • CrĂ©er un commit :
    git commit -m "Message du commit"
Travailler avec des branches :
  • Lister les branches :
    git branch
  • CrĂ©er une nouvelle branche :
    git branch nom_branche
  • Changer de branche :
    git checkout nom_branche
  • Fusionner une branche :
    git merge nom_branche
Résoudre des conflits :
  • Lorsque des conflits surviennent, Git indique les fichiers en conflit. Modifiez-les pour rĂ©soudre les problĂšmes, puis :
    git add fichier_modifié git commit
Collaborer avec un dépÎt distant :
  • VĂ©rifier les changements :
    git fetch
  • RĂ©cupĂ©rer et fusionner les modifications :
    git pull
  • Envoyer des modifications :
    git push

Exercice pratique 1 : Cloner et organiser le dépÎt TaskManagerPro

  1. Cloner le dépÎt :

    • Clonez le dĂ©pĂŽt TaskManagerPro :
      git clone https://github.com/TechNovaCorp/TaskManagerPro.git
  2. Vérifier les branches existantes :

    • Allez dans le rĂ©pertoire clonĂ© :
      cd TaskManagerPro
    • Listez les branches :
      git branch -a
  3. Créer une branche de développement :

    • CrĂ©ez et basculez sur une nouvelle branche nommĂ©e develop :
      git checkout -b develop
  4. Soumettre des modifications :

    • Modifiez un fichier (par exemple, ajoutez un commentaire dans le README).
    • Ajoutez les modifications et crĂ©ez un commit :
      git add README.md git commit -m "Ajout d'un commentaire au README"
    • Poussez la branche develop vers le dĂ©pĂŽt distant :
      git push origin develop

2.2. Workflows collaboratifs

GitFlow :

Un workflow Git populaire pour structurer les branches :

  • Branches principales :
    • main : contient le code en production.
    • develop : contient le code en cours de dĂ©veloppement.
  • Branches secondaires :
    • feature/* : pour le dĂ©veloppement de nouvelles fonctionnalitĂ©s.
    • hotfix/* : pour corriger des bugs critiques en production.
Trunk-Based Development :

Approche minimaliste :

  • Les dĂ©veloppeurs travaillent directement sur la branche principale (exemple : main) et poussent des modifications en continu.

Exercice pratique 2 : Mettre en place un workflow GitFlow

  1. Configurer les branches principales :

    • CrĂ©ez une branche main et develop si elles n’existent pas :
      git checkout -b main git push origin main git checkout -b develop git push origin develop
  2. Développer une nouvelle fonctionnalité :

    • CrĂ©ez une branche feature/ma_nouvelle_fonctionnalite Ă  partir de develop :
      git checkout -b feature/ma_nouvelle_fonctionnalite develop
    • Apportez des modifications, puis crĂ©ez un commit :
      git add fichier git commit -m "Ajout de ma nouvelle fonctionnalité"
    • Fusionnez la branche feature dans develop :
      git checkout develop git merge feature/ma_nouvelle_fonctionnalite
    • Poussez les modifications :
      git push origin develop
  3. Corriger un bug critique :

    • CrĂ©ez une branche hotfix/correction_bug Ă  partir de main :
      git checkout -b hotfix/correction_bug main
    • Apportez une correction, puis crĂ©ez un commit :
      git add fichier git commit -m "Correction du bug critique"
    • Fusionnez la branche hotfix dans main et develop :
      git checkout main git merge hotfix/correction_bug git push origin main git checkout develop git merge hotfix/correction_bug git push origin develop

📘 Quiz : Teste tes connaissances !

đŸ–„ïž Terminal Trainer : Pratique tes commandes !