Fichiers ou dossiers à ignorer
Dans la plupart des projets, il y a des dossiers ou fichiers spécifiques que vous ne souhaitez pas enregistrer. En général, il s'agit de fichiers locaux, spécifiques à votre ordinateur, ou bien de dossiers de dépendances.
Quelques exemples:
- Si vous utilisez un IDE de JetBrains, celui-ci va créer un dossier
/.idea/qui contient de la configuration spécifique de l'éditeur pour ce projet sur votre poste. Celui-ci ne devrait pas être enregistré dans le dépôt car vos collègues ont probablement leur propre configuration ou utilisent un éditeur différent. - Si vous installez des dépendances JavaScript avec Yarn ou NPM, elles seront enregistrées dans un dossier
/node_modules/. Ce dossier ne devrait pas être enregistré dans le dépôt car il est très lourd, et il suffira du fichierpackage.jsonpour que vos collègues installent les dépendances et recréent le dossier/node_modules/. - Si vous installez des dépendances PHP avec Composer, il ne faudra pas enregistrer le dossier
/vendor/dans le dépôt, le fichiercomposer.jsonsuffira.
« Et comment on peut ignorer ces dossiers ?! »
Fichiers .gitignore
On pourrait penser qu'il suffit de ne jamais les enregistrer, mais ils apparaîtront toujours dans la liste des nouveaux fichiers avec git status, et cela empêche d'utiliser le raccourci git add ..
La solution est d'utiliser un fichier nommé .gitignore dans lequel lister ce que Git ne doit pas prendre en compte:
.idea
node_modules
vendor
un-fichier-a-ignorer.txt
Vous pouvez avoir plusieurs fichiers .gitignore dans un projet, les chemins inscrits à l'intérieur sont relatifs à l'emplacement du fichier .gitignore.
Quelques "hacks" avec le .gitignore
StackOverflow regorge de questions/réponses sur Git, on peut y trouver des techniques intéressantes:
- Comment ajouter un dossier vide à un dépôt ? Pour enregistrer un dossier mais pas son contenu.
-
Comment faire oublier un fichier/dossier à Git ? Quand votre
/node_modules/a été ajouté au.gitignoremais qu'il a été enregistré auparavant.
Partie pratique
Créer un fichier README.md qui décrira le projet:
# Cours git
Projet d'initiation à **Git**
Créer un dossier /local/ qui doit être ignoré par Git et qui contient un fichier ignored.txt. Ajouter tous les changements au staging.
