Git Untracked-Dateien
Dieser Artikel stellt vor, wie man Dateien in Git untrackt.
Dateien innerhalb eines Git-Repositorys haben zwei Zustände: tracked oder untracked.
Nachverfolgte Dateien sind Dateien, die Git kennt.
Nicht verfolgte Dateien sind Dateien, die im Arbeits-Repository erstellt, aber nicht mit dem Befehl git add hinzugefügt wurden.
Betrachten Sie dieses Szenario.
cd ~ mkdir my-repo cd my-repo git init touch file.txt git add file.txt git commit -m 'First commit' Git kennt file.txt, also wird file.txt technisch gesehen jetzt getrackt.
Später möchten Sie Git anweisen, file.txt (oder versehentlich übertragene Dateien) zu ignorieren, indem Sie diesen Dateinamen zu .gitignore hinzufügen.
touch .gitignore echo 'file.txt' >> .gitignore git add .gitignore && git commit -m 'Ignore file.txt' Was würde passieren?
Nachdem Sie .gitignore übergeben haben, nehmen Sie eine Änderung an file.txt vor, dann zeigt git immer noch, dass file.txt verfolgt wird, weil es immer noch in Ihrem Repository-Index vorhanden ist.
$ echo 'qwe' > file.txt $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file.txt no changes added to commit (use "git add" and/or "git commit -a") Untrack-Dateien in Git
Schritt 1, führen Sie den folgenden Befehl aus.
$ git rm --cache file.txt rm 'file.txt' $ git st On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) deleted: file.txt rmstoppt das Tracking und entfernt eine Datei aus dem lokalen Repository-Verzeichnis.- Die Option
--cachegibt an, dass der Befehlrmdie Datei nur aus dem Index entfernt, die Datei nicht aus dem lokalen Repository entfernt
git rm --cache file.txt stoppt die Nachverfolgung von file.txt, indem es aus dem Repository-Index entfernt wird, aber die Datei intakt bleibt.
$ git commit -m 'Remove file.txt from tracking' [master 4697164] Remove file.txt from tracking 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 file.txt Von nun an verfolgt Git keine Änderungen mehr an file.txt.
$ echo '123' > file.txt $ git st On branch master nothing to commit, working tree clean