Ich versuche, die .gitignore
Datei zum Ausschließen templates.js
im public/app/
Ordner zu verwenden. Meine .gitignore
Datei sieht folgendermaßen aus:
/vendor
/node_modules
composer.phar
composer.lock
.DS_Store
templates.js
Aber wenn ich die Git Gui einchecke, wird die templates.js
Datei immer noch darin angezeigt. Wie kann ich eine Datei mit ausdrücklich ausschließen .gitignore
?
.gitignore
ignoriert nur den hinzuzufügenden Inhalt..gitignore
korrekt?Antworten:
Im Gegensatz zu dem, was der Name "ignorieren" vermuten lässt.
.gitignore
wird nur konsultiert, wenn Siegit add
Dateien: Mit anderen Worten, eine Datei, die bereits zum (Index des) Repositorys hinzugefügt wurde, wird basierend auf dem nicht ausgeschlossen.gitignore
.Zuerst ändern Sie das besser
.gitignore
so, dass die Datei nicht mehr hinzugefügt wird. Fügen Sie der.gitignore
Datei die folgende Zeile hinzu :Als nächstes müssen Sie die Datei aus dem Repository ausschließen. Wahrscheinlich möchten Sie die Datei nicht aus Ihrem Dateisystem entfernen. Dies kann folgendermaßen erfolgen:
Das
--cached
Flag stellt sicher, dass die Datei nicht aus Ihrem Dateisystem entfernt wird. (Wenn nicht wichtig, können Sie verwendengit rm public/app/template.js
, aber dies wird die Datei entfernen ).Hintergrund
Der Grund, der
.gitignore
nicht proaktiv verwendet wird, liegt darin, dass Sie manchmal das überschreiben möchten.gitignore
. Angenommen, Sie möchten keine*.log
Dateien verfolgen , die Sie*.log
in der Datei angeben können.gitignore
. Wenn Sie jedoch einen bestimmten Titel verfolgen möchten, können Sie diesen hinzufügengit add -f some.log
. Das-f
Flag erzwingtgit
das Hinzufügen der Datei.quelle
Sobald eine Datei einmal zum Git-Repository hinzugefügt wurde, wird sie weiterhin verfolgt, unabhängig davon, ob sie in der Gitignore-Datei aufgeführt ist oder nicht.
Ich vermute, Sie haben die Datei template.js zuvor hinzugefügt. In diesem Fall werden weiterhin Änderungen verfolgt, bis Sie sie aus dem Repository entfernen. Sobald die Datei aus dem Repository entfernt wurde, wird sie über die Gitignore-Datei ordnungsgemäß ignoriert.
Sie können eine Datei aus einem Git-Repository (Befehlszeile) entfernen, ohne sie zu löschen
Sobald Sie dies tun und versuchen, die Datei in Ihrem Gitignore festzuschreiben, wird dies nicht mehr der Fall sein.
Beachten Sie, dass, wenn Sie speziell eine Datei hinzufügen, die Sie in Ihrem Gitignore haben, das manuelle Hinzufügen der Datei den Gitignore überschreibt.
quelle
Wenn Sie bereits eine Datei verfolgen (
git add
darauf undgit commit
),.gitignore
hilft das nicht.Ich glaube , was Sie wollen eine Datei Tracking zu stoppen ist, und dann verwenden
.gitignore
sie auszuschließen. Verwenden Sie Folgendes, um die Verfolgung einer Datei zu beenden, die Datei jedoch beizubehalten:git rm --cached <file>
quelle
In diesem Fall können Sie die Verfolgung
templates.js
mit beendenWie andere erklärt haben, werden
.gitignore
nur hinzuzufügende Inhalte ignoriert. Wenn Sie beispielsweise häufig verwendengit add .
undtemplates.js
in Ihrem haben.gitignore
, wird es von git nicht hinzugefügt.quelle