Si Git permet de conserver la trace de la moindre modification d'un fichier au sein d'un référentiel, il est parfois utile d'avoir dans son projet une zone où pouvoir déposer des fichiers non versionnés, ne serait-ce que pour y laisser des notes, télécharger des dumps, des résultats de curl, etc.
Plutôt que de modifier le fichier .gitignore
du projet ou de jouer avec le cache de Git pour ne pas versionner ces fichiers, il existe une astuce toute simple qui répond exactement à ce besoin :
- Créer un dossier
trash
n'importe où dans le projet (le nom n'a pas d'importance, celui-ci est ma convention personnelle) - Créer un fichier
.gitignore
à sa racine avec pour seul contenu*
- Ajouter n'importe quel fichier dans ce dossier, il ne sera pas versionné.
En fait, Git prend en charge l'ajout de plusieurs fichiers .gitignore
dans un même référentiel. Ici, on en déclare donc simplement un dans un nouveau sous-dossier avec une wildcard qui lui fait comprendre qu'aucun de ses fichiers ne doivent être versionnés.
Impossible de retrouver où est-ce que j'ai découvert cette astuce bien pratique il y a plusieurs années, mais depuis que je l'ai découverte aucun de mes projets n'y échappe !