Le fichier .gitignore et bonnes pratiques
Quoi ignorer et conventions de commit
Concepts Théoriques
Certains fichiers ne doivent JAMAIS être versionnés : fichiers de configuration avec des mots de passe, dépendances installables, fichiers générés, et fichiers spécifiques à votre OS. Le fichier .gitignore indique à Git quels fichiers ignorer.
Quoi ignorer
Dépendances — node_modules/, vendor/ — ces dossiers contiennent des milliers de fichiers téléchargeables. Ils se recréent avec npm install ou composer install.
Configuration locale — .env — contient les mots de passe de la base de données, les clés API. Chaque développeur a ses propres valeurs. On versionne un .env.example avec des valeurs vides comme modèle.
Fichiers OS — .DS_Store (macOS), Thumbs.db (Windows) — fichiers créés automatiquement par l'OS, inutiles pour le projet.
Fichiers générés — dist/, build/, .cache/, *.log — recréés par les outils de build.
Fichiers IDE — .idea/ (JetBrains), .vscode/settings.json — préférences personnelles de l'éditeur.
Syntaxe du .gitignore
- node_modules/ — ignore le dossier et son contenu
- *.log — ignore tous les fichiers .log
- !important.log — SAUF ce fichier (exception)
- /config.php — ignore seulement à la racine (pas dans les sous-dossiers)
- **/*.tmp — ignore les .tmp dans tous les sous-dossiers
Fréquence de commit
Commitez souvent — à chaque changement logique terminé :
- Ajouté une section HTML ? Commit.
- Fini le responsive d'un composant ? Commit.
- Corrigé un bug ? Commit.
- Fin de journée (même si pas fini) ? Commit avec "wip:" (work in progress).
5-15 commits par jour de travail est normal pour un développeur actif.
> Attention : Si un fichier a déjà été commité puis ajouté au .gitignore, Git continue de le suivre. Pour arrêter : git rm --cached fichier (le supprime du suivi sans supprimer le fichier physique).