
Ich wollte den gesamten Ordner ignorieren, da ich bei „Gefunden im Ordner .vs
“ die Fehlermeldung „Gesperrt/Zugriff verweigert“ erhielt. Daher habe ich mit diesem Bash-Befehl eine Datei erstellt:sqlite3/db.lock
.vs
.gitignore
touch .gitignore
und habe dann diese Zeile in die .gitignore-Datei eingefügt:
.vs/*
Aber beim Ausführen erhalte ich immer noch den gleichen Fehler git add --all
.
Am Ende habe ich die Sourcetree-App geöffnet, den .vs
Ordnerinhalt ignoriert, indem ich mit der rechten Maustaste auf die Dateien geklickt und „Ignorieren“ ausgewählt habe, und dann habe ich es geschafft, alle Dateien hinzuzufügen, zu committen und zu pushen (über die Sourcetree-App).
Ich bin mit dieser Lösung nicht zufrieden, weil ich alles über die Befehlszeile erledigen wollte. Jetzt frage ich mich, warum sich der Inhalt von Gitignore nicht geändert hat, wenn ich ihn angeblich über Sourcetree manipuliert habe? Und wie kann ich Dateien hinzufügen .gitignore
? Was ich getan habe, schien keine Wirkung zu haben (die Tatsache, dass ich die Zeile hinzugefügt habe .vs/*
).
Antwort1
Was Sie getan haben, hatte eine Wirkung. Nämlich dass alleZukunftÄnderungen werden ignoriert.
Das Problem hierbei ist, dass hinzugefügte Dateien .gitignore
bei allen Änderungen ignoriert werden, aber dennoch im Repository verbleiben. Sie müssen alles aus Git entfernen und sie erneut hinzufügen. Auf diese Weise werden die Dateien, die ignoriert werden sollen, nicht hinzugefügt.
Dies können Sie mit den folgenden Befehlen tun:
git rm -r --cached .
git add .
git commit -m ".gitignore fix"
Referenz:http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/