Maîtrisez le versionnement et l'historique : Git, commits, branches, fusion et bonnes pratiques de gestion de versions grâce à ces 5 exercices détaillés.
Git : Système de contrôle de version distribué permettant de suivre les modifications dans les fichiers et coordonner le travail entre plusieurs développeurs.
git init crée un nouveau dépôt Git dans le dossier courant
git add . ajoute tous les fichiers modifiés à la zone de staging
git commit -m "message" enregistre l'état actuel du projet
Série de commits chronologiquement ordonnés avec des messages descriptifs
• Messages clairs : Chaque commit a un message descriptif
• Atomicité : Chaque commit représente une modification logique unique
• Fréquence : Commits réguliers pour sauvegarder l'avancement
Branche : Ligne de développement indépendante dans un dépôt Git permettant de travailler sur des fonctionnalités sans affecter la branche principale.
git branch nom_branche crée une nouvelle branche
git checkout nom_branche bascule vers la branche spécifiée
Effectuer des modifications et créer des commits sur la branche
Branche principale stable avec une branche de développement parallèle
• Isolation : Chaque fonctionnalité est développée dans sa propre branche
• Nommage : Noms des branches descriptifs et cohérents
• Synchronisation : Mise à jour régulière de la branche depuis la principale
Fusion (merge) : Opération qui combine les modifications de deux branches en une seule.
git checkout main bascule sur la branche principale
git merge nom_branche fusionne la branche source dans la cible
Modifier manuellement les fichiers en conflit si nécessaire
La branche principale contient maintenant toutes les modifications de la branche secondaire
• Sécurité : Vérifier que la branche source est prête avant la fusion
• Tests : S'assurer que le code fonctionne après la fusion
• Documentation : Garder un historique clair des fusions
Tag : Repère permanent pointant vers un commit spécifique, généralement utilisé pour marquer des versions.
Sélectionner un commit qui représente une version fonctionnelle du projet
git tag -a v1.0 -m "Version 1.0 stable" crée un tag annoté
git push origin v1.0 envoie le tag au serveur
Tags v1.0, v1.1, etc. permettant d'accéder à des versions spécifiques du code
• Stabilité : Seuls les commits stables sont tagués
• Nomenclature : Utilisation d'un schéma de version cohérent (ex: v1.0.0)
• Documentation : Messages descriptifs pour chaque version
Annulation : Processus de retour à un état précédent du dépôt Git, pour corriger des erreurs.
Utiliser git log pour trouver le commit à annuler
git reset --hard HEAD~1 annule le dernier commit
git revert hash_commit crée un nouveau commit annulant les changements
Le dépôt est revenu à l'état souhaité avant l'introduction de l'erreur
• Prudence : Ne jamais reset sur des commits partagés publiquement
• Revert : Préférer git revert pour les commits partagés
• Sauvegarde : Toujours vérifier l'état avant d'annuler des modifications