.gitignore n’ignore pas les répertoires

Ce que j’ai fait:

Je pense qu’il y avait des configurations étranges à partir de l’interface graphique github qui a causé ce problème et m’a empêché de pouvoir utiliser facilement git depuis la ligne de commande ou même git-bash.

J’ai fini par désinstaller github et git, puis réinstaller simplement git for windows. J’ai maintenant tout en ligne de commande (sauf ssh que je lance depuis git-bash). Beaucoup plus facile et plus fiable que le github gui.

Merci à Mu 無 d’avoir pris le temps d’essayer de comprendre cela. Je n’ai pas fini par utiliser sa réponse, mais si je n’avais pas eu besoin de réinstaller git, ce serait ce que je devais faire.


J’utilise le github gui sur ma machine locale. Je viens de remarquer qu’un commit que je m’apprêtais à faire allait mettre à jour tous mes modules de nœuds récemment mis à jour. J’ai configuré mon fichier .gitignore pour ignorer l’intégralité du node_modules/ .

Je ne sais pas quoi faire à ce sujet. Tous les types de fichiers inclus dans .gitignore ont été ignorés. Ce ne sont que les répertoires qu’il semble ignorer.

Voici mon fichier .gitignore:

 ################# ## Sublime Text ################# *.sublime-project *.sublime-workspace ################# ## Images ################# *.jpg *.jpeg *.png *.gif *.psd *.ai ################# ## Windows desortingtus ################# # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Mac crap .DS_Store ################# ## Directories ################# dev/ cms/core/config/ node_modules/ 

node_modules répertoire node_modules étant déjà suivi dans le cadre du référentiel, la règle .gitignore ne lui est pas applicable.

Vous devez désélectionner le répertoire de git en utilisant

 git rm -r --cached node_modules git commit -m "removing node_modules" 

Vous pouvez exécuter les 2 ci-dessus dans git-bash .

Après cela, la règle .gitignore ignorera le répertoire.

Notez que cela supprimera le répertoire node_modules de vos autres repositorys une fois que vous aurez apporté les modifications. Seul le repository d’origine dans lequel vous avez effectué la validation node_modules toujours le dossier node_modules .

Si les fichiers sont déjà suivis, le fichier .gitignore ne remplacera pas cela. Vous devrez utiliser git rm --cached

Voir tous les détails sur git rm à l’ adresse https://www.kernel.org/pub/software/scm/git/docs/git-rm.html J’ai déjà eu cette occasion une ou deux fois avec git et ce n’était pas tout à fait ce que j’attendais non plus.

Si vous travaillez avec des projets de nœuds, j’aime bien ce .gitignore :

 # See http://help.github.com/ignore-files/ for more about ignoring files. # dependencies node_modules # testing coverage # production build # misc .DS_Store .env npm-debug.log 

Semblable à Zach, j’ai également utilisé echo "node_modules/" >> .gitignore .

Le problème était qu’il avait créé le fichier avec l’encodage UCS-2 LE BOM . En utilisant notepad ++ j’ai changé l’encodage en UTF-8 et voila – node_modules est maintenant ignoré.

entrer la description de l'image ici

J’ai eu ce problème. D’une certaine manière, lorsque j’ai généré le fichier (en utilisant echo “node_modules”> .gitignore), il avait inséré un caractère de mémoire au début du fichier (je blâme Powershell).

Donc, si vous rencontrez ce problème, essayez de supprimer votre fichier .gitignore et de recommencer.

Si tu fais:

 git rm -r --cached node_modules git commit -m "removing node_modules" 

Avez-vous besoin de réinstaller les paquets npm? J’ai un fichier .gitignore avec du code pour ignorer les node_modules dans mon référentiel, mais il ne les ignore pas. Je suis nouveau au codage!