Wie füge ich Dateien zu .gitignore hinzu und warum ändert sich der Inhalt der .gitignore-Datei nicht, nachdem Dateien mit dem Quellbaum ignoriert wurden?

Wie füge ich Dateien zu .gitignore hinzu und warum ändert sich der Inhalt der .gitignore-Datei nicht, nachdem Dateien mit dem Quellbaum ignoriert wurden?

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 .vsOrdnerinhalt 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 .gitignorebei 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/

verwandte Informationen