web-dev-qa-db-fra.com

Git - Ignorer le dossier node_modules partout

J'ai un projet contenant plusieurs autres projets:

  • Projet principal
    • Mini projet 1
    • Mini projet 2

Tous contenant le dossier node_modules. Je veux que git ignore le dossier, peu importe où il se trouve depuis le dossier racine. Quelque chose comme ça à ajouter dans .gitignore:

*node_modules/*
285
Mehdiway

Ajoute ça

node_modules/

dans le fichier .gitignore pour ignorer tous les répertoires appelés node_modules dans le dossier actuel et tous les sous-dossiers

591
Alik

Je suis arrivé dans cette situation à quelques reprises, alors j'ai fait un one-liner Je peux coller dans le terminal dans le répertoire de mon projet:

touch .gitignore && echo "node_modules/" >> .gitignore

Ou, quand j'ai ajouté le dossier node_modules à git déjà:

git rm -r --cached node_modules && touch .gitignore && echo "node_modules/" >> .gitignore

Ensuite, validez que cela a fonctionné:

git status

Explication

touch générera le fichier .gitignore s'il n'existe pas déjà.

echo et >> ajoutera node_modules/ à la fin de .gitignore, ce qui aura pour effet d'ignorer le dossier node_modules et tous ses sous-dossiers.

git rm -r --cached supprime le chemin node_modules du contrôle git. Les indicateurs rendent la suppression récursive et incluent le cache.

127
Andrew Schreiber

La première chose à faire est d'ajouter le fichier .gitignore dans my-app. Comme si dans l'image ci-dessous.

Put .gitignore in the parent folder/directory of node_modules.

et ensuite ajoutez ceci dans votre fichier .gitignore

/node_modules

Remarque

Vous pouvez également ajouter d'autres fichiers pour les ignorer et les pousser sur github. Voici quelques fichiers supplémentaires conservés dans .gitignore. Vous pouvez les ajouter en fonction de vos besoins. # n'est qu'un moyen de commenter dans un fichier .gitignore.

# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
17
Asif J

Essayez de faire quelque chose comme ça

**/node_modules

** est utilisé pour un appel récursif dans tout le projet

Deux astérisques consécutifs ("**") dans des modèles appariés à un chemin complet peuvent avoir une signification particulière:

Un "" suivi d'un slash signifie que tous les répertoires correspondent. Par exemple, "/foo" correspond au fichier ou au répertoire "foo" n'importe où, de la même manière que le motif "foo". "**/foo/bar" correspond au fichier ou au répertoire "bar" n'importe où se trouvant directement sous le répertoire "foo".

Un "/ " final correspond à tout ce qui se trouve à l'intérieur. Par exemple, "abc/" correspond à tous les fichiers du répertoire "abc", par rapport à l'emplacement du fichier .gitignore, avec une profondeur infinie.

Une barre oblique suivie de deux astérisques consécutifs, puis une barre oblique ne correspond à aucun ou plusieurs répertoires. Par exemple, "a/**/b" correspond à "a/b", "a/x/b", "a/x/y/b" et ainsi de suite.

Les autres astérisques consécutifs sont considérés comme non valides.

référence

8
Rajendran Nadar

Créez le fichier . Gitignore dans le dossier racine directement par l'éditeur de code ou par la commande

 touchez .gitignore 

open . gitignore déclarez le nom du dossier ou du fichier comme ceci / nomdossier

7
Amit Kumar