Git Untracked-Dateien

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 
  • rm stoppt das Tracking und entfernt eine Datei aus dem lokalen Repository-Verzeichnis.
  • Die Option --cache gibt an, dass der Befehl rm die 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 
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren

Verwandter Artikel - Git Tracking