wake-up-neo.com

.gitignore ignoriert Verzeichnisse nicht

Was ich getan habe:

Ich denke, es gab einige seltsame Konfigurationen der github gui, die dieses Problem verursachten und es mir unmöglich machten, git von der Kommandozeile oder gar git-bash zu benutzen.

Am Ende habe ich nur github und git deinstalliert und dann nur noch git für Windows neu installiert. Ich habe jetzt alles von der Kommandozeile (außer ssh, das ich von git-bash aus laufe) laufen. Viel einfacher und zuverlässiger als die Github Gui.

Vielen Dank an mu無, dass Sie sich die Zeit genommen haben, dies herauszufinden. Am Ende habe ich seine Antwort nicht gebraucht, aber wenn ich keine Neuinstallation von git gemacht hätte, wäre das genau das gewesen, was ich tun musste.


Ich verwende das github gui auf meinem lokalen Rechner. Ich habe gerade bemerkt, dass ein Commit, das ich machen wollte, alle meine kürzlich aktualisierten Knotenmodule aktualisieren würde. Ich habe mein .gitignore eingerichtet, um das gesamte node_modules/-Verzeichnis zu ignorieren.

Ich bin nicht sicher, was ich dagegen tun soll. Alle in .gitignore enthaltenen Dateitypen wurden ignoriert. Es sind nur die Verzeichnisse, die es zu ignorieren scheint.

Hier ist meine .gitignore-Datei:

#################
## Sublime Text
#################

*.sublime-project
*.sublime-workspace

#################
## Images
#################

*.jpg
*.jpeg
*.png
*.gif
*.psd
*.ai

#################
## Windows detritus
#################

# 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/
48
Hal Carleton

Da das node_modules-Verzeichnis bereits als Teil des Repositorys verfolgt wird, gilt die .gitignore-Regel nicht für das Repository.

Sie müssen das Verzeichnis von git using entfernen

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

Sie können die obigen 2 in git-bash ausführen.

Danach ignoriert die .gitignore-Regel das Verzeichnis.

Beachten Sie, dass dadurch das Verzeichnis node_modules von Ihren anderen Repos entfernt wird, wenn Sie die Änderungen in dieses Verzeichnis übernehmen. Nur das Original-Repo, in dem Sie dieses Commit durchgeführt haben, hat noch den Ordner node_modules.

162
mu 無

Wenn die Dateien bereits aufgezeichnet sind, wird die .gitignore-Datei dies nicht überschreiben. Sie müssen git rm --cached <files> verwenden. 

Die vollständigen Details finden Sie unter git rm at https://www.kernel.org/pub/software/scm/git/docs/git-rm.html Ich bin selbst ein- oder zweimal darauf gestoßen früh mit git und es war auch nicht ganz das, was ich erwartet hatte.

14
Matthew M

Ähnlich wie Zach habe ich auch echo "node_modules/" >> .gitignore verwendet.

Das Problem war, dass die Datei mit der Kodierung UCS-2 LE BOM erstellt wurde. Mit notepad ++ habe ich die Kodierung in UTF-8 geändert und voila - node_modules wird jetzt ignoriert.

 enter image description here

4
Scotty.NET

Wenn Sie mit Knotenprojekten arbeiten, gefällt mir Folgendes: .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
3
prosti

Ich hatte dieses Problem. Irgendwie hatte ich bei der Generierung der Datei (unter Verwendung von echo "node_modules"> .gitignore) am Anfang der Datei ein Müllzeichen eingefügt (ich mache Powershell verantwortlich).

Wenn Sie also auf dieses Problem stoßen, löschen Sie Ihr .gitignore und beginnen Sie von vorne.

1
Zach Dahl

Wenn Sie tun:

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

Müssen Sie die npm-Pakete erneut installieren? Ich habe eine .gitignore-Datei mit Code, der node_modules in meinem Repository ignoriert werden soll, aber sie wird nicht ignoriert. Ich bin neu in der Codierung! 

0
EduCoder