Concepts Clés de Git


Pour naviguer dans l'univers de Git, quelques notions fondamentales sont à maîtriser. Elles structurent votre travail et facilitent la collaboration.
Repository
Votre dossier de projet versionné, qu'il soit sur votre machine (local) ou partagé sur une plateforme (distant).
Commit
Un instantané de vos modifications, enregistré avec un message descriptif. C'est l'unité de base de l'historique de votre projet.
Branch
Une ligne de développement indépendante, permettant de travailler sur des fonctionnalités sans impacter la version principale du projet.
Merge
L'action de combiner les changements d'une branche dans une autre, intégrant ainsi votre travail au projet principal ou à une autre fonctionnalité.
Remote
Le dépôt partagé, souvent hébergé sur des plateformes comme GitHub ou GitLab, servant de point central pour la collaboration et la sauvegarde.
Commandes Git Essentielles
Maîtrisez ces commandes de base pour initier vos projets, suivre vos modifications et naviguer dans l'historique de votre code.
git init # Initialiser un nouveau dépôt Git git clone URL # Cloner un dépôt existant depuis une URL git status # Vérifier l'état des fichiers git add fichier # Préparer des fichiers pour le commit git commit -m "msg" # Enregistrer les modifications avec un message git log # Afficher l'historique des commits
Ces commandes sont le fondement de toute interaction avec Git, vous permettant de gérer votre code efficacement.
Cas Pratique CNSS : Mise à Jour d'un Formulaire
Illustrons avec un exemple concret : la modification du champ "N° employeur" sur le portail de télé-déclaration de la CNSS.
Scénario
Un libellé de champ doit être corrigé. Pour éviter les conflits et assurer une revue, voici la démarche à suivre :
  1. Créez une branche dédiée : git checkout -b fix/form-num-employeur.
  1. Modifiez le fichier concerné dans votre éditeur de code.
  1. Ajoutez et commitez vos changements : git add . puis git commit -m "fix(form): corrige libellé N° employeur".
Collaboration
  1. Poussez votre branche sur le dépôt distant : git push origin fix/form-num-employeur.
  1. Ouvrez une Merge Request (MR/PR) sur GitHub/GitLab pour validation par un collègue.
Cette méthode garantit la qualité du code et la traçabilité des modifications.
Workflow Git Simple et Efficace
Adopter un workflow clair est crucial pour une collaboration fluide et des projets stables, notamment pour des systèmes critiques comme ceux de la CNSS.
Branches par Fonctionnalité
Isolément votre travail sur des branches dédiées pour chaque nouvelle fonctionnalité ou correction de bug.
Commits Fréquents
Enregistrez vos progrès régulièrement avec des commits petits et explicites pour un historique propre.
Merge Request (PR/MR)
Soumettez votre travail via une PR/MR pour obtenir des retours et assurer la qualité du code avant l'intégration.
Revue de Code
La revue par un pair est indispensable pour prévenir les erreurs et favoriser le partage de connaissances.
Ce processus minimise les risques, comme une mise à jour de formulaire qui impacterait l'API, et encourage la qualité.
Bonnes Pratiques pour une Gestion de Code Optimale
Pour maximiser l'efficacité de Git et la robustesse de vos projets, intégrez ces habitudes à votre routine de développement.
Messages de Commit Clairs
Utilisez un format concis (ex: feat: ajoute bouton, fix: corrige bug affichage) pour faciliter la lecture de l'historique.
Ne pas Coder sur "main"
La branche main doit rester stable. Travaillez toujours sur des branches séparées.
Synchronisation Fréquente
Tirez (pull) les dernières modifications du dépôt distant régulièrement pour éviter les conflits et rester à jour.
Sauvegarder Souvent
Poussez (push) fréquemment vos branches vers le dépôt distant. Votre travail est ainsi sécurisé et accessible aux autres.
Ces pratiques garantissent un historique de projet propre, réduisent les erreurs et améliorent la collaboration au sein des équipes techniques.
Cas Pratique : De Zéro à GitHub
Créer un projet local, initialiser Git, publier sur GitHub et explorer le branching — une préparation concrète à l'intégration continue.
Étape 1 — Créer le Projet Local
Initialiser votre projet local est la première étape pour bénéficier du contrôle de version de Git. Suivez ces commandes pour préparer votre environnement.
mkdir mon-projet cd mon-projet git init touch README.md git add README.md git commit -m "init: premier commit"
La commande git init crée un dossier caché nommé .git. C'est le cœur de votre dépôt, où Git stocke toutes les informations de versionnement.
Les étapes en un coup d'œil :
Créer le dossier
Préparez l'espace de travail pour votre nouveau projet.
Accéder au dossier
Naviguez dans le répertoire de votre projet via le terminal.
Initialiser Git
Activez le suivi de version Git pour ce répertoire.
Ajouter un fichier
Créez un premier fichier, comme un README.md.
Préparer le commit
Stagez votre nouveau fichier pour l'inclure dans le prochain instantané.
Enregistrer le commit
Sauvegardez l'état actuel du projet avec un message descriptif.
Étape 2 — Créer un Dépôt GitHub et Connecter
Après avoir initialisé votre projet local, l'étape suivante consiste à créer un dépôt sur GitHub et à établir la connexion. Cela permet de sauvegarder votre travail à distance et de faciliter la collaboration.
git remote add origin https://github.com/username/mon-projet.git git branch -M main git push -u origin main
La première commande établit le lien avec votre nouveau dépôt GitHub, que vous aurez créé via l'interface web, "origin" étant le nom conventionnel pour ce lien. Ensuite, git branch -M main renomme votre branche locale en "main". Enfin, git push -u origin main télécharge votre code local vers GitHub et configure votre branche locale pour suivre la branche distante "main", simplifiant les futures synchronisations. Assurez-vous d'être authentifié (via un token d'accès personnel ou SSH) pour pousser vos modifications.
Créer le Dépôt GitHub
Initialisez un nouveau dépôt sur GitHub directement depuis leur interface web.
Lier le Dépôt Distant
Connectez votre répertoire local à votre nouveau dépôt GitHub en utilisant la commande git remote add.
Pousser le Code
Envoyez votre premier commit et l'historique de votre projet local vers le dépôt GitHub.
Étape 3 — Explorer le Branching
Le branching est une fonctionnalité clé de Git qui vous permet de développer de nouvelles fonctionnalités ou de corriger des bugs de manière isolée, sans affecter le code principal. C'est essentiel pour le travail d'équipe et la stabilité des applications critiques.
# Créer et basculer sur une nouvelle branche git checkout -b feature/ajout-login # Faire des modifications, puis : git add . git commit -m "feat: ajoute page de login" # Voir toutes les branches git branch # Revenir sur main git checkout main # Fusionner la branche git merge feature/ajout-login # Pousser sur GitHub git push origin feature/ajout-login
Ces commandes illustrent un workflow typique : création d'une branche pour une nouvelle fonctionnalité, développement, validation, puis intégration sécurisée dans la branche main. Cela garantit un historique propre et une gestion des versions robuste.
Début sur main
Le point de départ stable de votre projet.
Création de Branche
Isoler le développement de nouvelles fonctionnalités (ex: feature/login).
Développement & Commits
Travaillez et enregistrez vos progrès sur la branche dédiée.
Fusionner sur main
Intégrer les modifications après revue et validation.
Pousser sur GitHub
Mettre à jour le dépôt distant avec les changements.
Il est crucial de ne jamais coder directement sur la branche main. Cela protège la stabilité du projet et permet une collaboration structurée, évitant les régressions et les conflits majeurs.
Étape 4 — Pull Request & Revue de Code
La Pull Request (PR) est le cœur de la collaboration sur GitHub. Elle permet de proposer vos modifications, de solliciter des retours et d'intégrer votre travail dans le projet principal de manière contrôlée et sécurisée.
Poussez votre Branche
Envoyez votre branche de fonctionnalité sur le dépôt distant GitHub.
Créez une Pull Request
Ouvrez une nouvelle PR sur GitHub, ciblant la branche main, avec une description claire de vos changements.
Revue & Discussion
Des collègues examinent votre code, suggèrent des améliorations et initient des discussions.
Approbation
Une fois les modifications validées, la PR reçoit une approbation.
Fusionnez la Branche
Intégrez vos modifications dans la branche principale main, clôturant ainsi la PR.
Cette approche garantit la traçabilité des modifications et améliore la qualité du code. Les PRs peuvent également déclencher des "checks" automatiques (tests unitaires, analyse de code) pour valider vos changements avant toute revue humaine, une première étape vers l'intégration continue.
Vers l'Intégration Continue (CI)
Ce que vous venez de pratiquer — la gestion des branches, les Pull Requests et les pushes vers GitHub — constitue le socle fondamental de l'Intégration Continue (CI). La CI automatise les vérifications et les tests à chaque modification du code, assurant ainsi la stabilité et la qualité du projet.
Bénéfices clés de la CI
Détection rapide des bugs
Identifiez les problèmes dès leur introduction, réduisant ainsi les coûts et le temps de correction.
Qualité garantie à chaque commit
Assurez que chaque contribution respecte les standards de qualité et n'introduit pas de régression.
Déploiement automatisé
Préparez votre code pour un déploiement continu et rapide en production, réduisant les frictions.
Flux de travail CI simplifié
Push du Code
Vos modifications sont envoyées sur GitHub.
GitHub Actions
Le workflow CI est déclenché automatiquement.
Tests Automatisés
Compilation, tests unitaires et d'intégration sont exécutés.
Déploiement
Le code validé est prêt à être déployé.
GitHub Actions est la solution d'intégration continue native de GitHub, permettant de créer des workflows CI/CD directement dans vos dépôts. Ces pratiques jettent les bases d'une intégration et d'un déploiement continus (CI/CD) efficaces, que nous explorerons plus en détail dans la prochaine session.
Ce qu'on a vu aujourd'hui 🎯
Une journée pour poser les bases solides de Git et GitHub.
Les concepts clés de Git
Repository, Commit, Branch, Merge, Remote
Les commandes essentielles
init, clone, add, commit, log, status
Projet local → GitHub
Créer, initialiser, connecter et pousser un dépôt
Le Branching
Travailler en isolation, merger proprement
Pull Request & Revue de Code
Collaborer, valider, intégrer
Bravo pour cette première étape : vous avez maintenant les bases pour avancer avec confiance. Prochaine étape : l'Intégration Continue avec GitHub Actions.


Made with