0 XP
?
Débutant35 min20 XP

Objectifs de cette leçon

  • Gérer le versioning avec Git et l'IA
  • Rédiger des messages de commit clairs
  • Utiliser l'IA pour les revues de code

Git et organisation du projet 🗂️

Pourquoi Git ?

Git est un système de versionnement qui permet de :

  • Sauvegarder l'historique de votre code
  • Travailler en équipe sans conflits
  • Revenir en arrière en cas de bug
  • Organiser le développement en features

Les commandes essentielles

# Initialiser un dépôt
git init

# Cloner un dépôt existant
git clone https://github.com/user/repo.git

# Voir l'état
git status

# Ajouter des fichiers
git add .                    # Tout ajouter
git add src/components/      # Un dossier

# Committer
git commit -m "feat: ajouter la page de connexion"

# Envoyer sur GitHub
git push origin main

# Récupérer les changements
git pull origin main

Les branches

main (production)
  │
  ├── feature/auth        → Branche d'authentification
  │     └── (commits...)
  │
  ├── feature/dashboard   → Branche du dashboard
  │     └── (commits...)
  │
  └── fix/cors-error      → Branche de correction
        └── (commits...)
# Créer et passer sur une branche
git checkout -b feature/auth

# Voir les branches
git branch

# Passer sur une branche
git checkout main

# Fusionner une branche
git merge feature/auth

# Supprimer une branche
git branch -d feature/auth

Les commits conventionnels

<type>(<scope>): <description>

feat(auth): ajouter la page de connexion
fix(api): corriger la validation de l'email
docs(readme): ajouter les instructions d'installation
style(components): reformater le code
refactor(api): extraire la logique métier
test(user): ajouter les tests du UserController
chore(deps): mettre à jour les dépendances

Les Pull Requests

1. Créer une branche
   git checkout -b feature/user-profile

2. Développer et committer
   git add . && git commit -m "feat: page profil utilisateur"

3. Pousser
   git push origin feature/user-profile

4. Créer une PR sur GitHub
   → Décrire les changements
   → Demander une revue

5. After approval : Merge
   → Fusionner dans main

Structure de commits pour un projet

mon-projet/
├── .gitignore           # Fichiers à ignorer
├── README.md            # Documentation
├── src/                 # Code source
├── tests/               # Tests
├── docs/                # Documentation
└── docker-compose.yml   # Configuration Docker

.gitignore

node_modules
.env
.env.local
dist
build
coverage
*.log
.DS_Store

Utiliser l'IA pour Git

Bon prompt :

Crée un commit message pour les changements suivants :
- Ajout de la page de connexion (email + mot de passe)
- Ajout du middleware d'authentification
- Modification de la route /api/users pour être protégée

Utilise le format conventional commits.

Exercices 🎯

  1. Setup : Initialisez un dépôt Git et poussez-le sur GitHub.
  2. Branches : Créez une branche feature, faites des modifications, et créez une PR.
  3. Commits : Écrivez 5 messages de commit conventionnels pour des changements fictifs.

Prochaine leçon : Docker et déploiement.

Workflow Git
Interactif
Étape 1/6