Wie man prüft, ob eine Datei in Git nicht verfolgt wird

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie nicht verfolgte (untracked) Dateien in Ihrem Git-Repository identifizieren können. Sie werden zwei Hauptmethoden untersuchen: die Verwendung des Befehls git status, um den gesamten Zustand des Repositorys, einschließlich der nicht verfolgten Dateien, anzuzeigen, und die Nutzung des Befehls git ls-files --others für eine gezieltere Auflistung nur der nicht verfolgten Dateien. Am Ende dieses Labs verstehen Sie, wie Git zwischen verfolgten und nicht verfolgten Dateien unterscheidet und wie Sie diese Befehle nutzen können, um die Dateien Ihres Projekts effektiv zu verwalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/status("Check Status") subgraph Lab Skills git/add -.-> lab-560033{{"Wie man prüft, ob eine Datei in Git nicht verfolgt wird"}} git/status -.-> lab-560033{{"Wie man prüft, ob eine Datei in Git nicht verfolgt wird"}} end

Führen Sie git status aus, um nicht verfolgte Dateien aufzulisten

In diesem Schritt verwenden wir den Befehl git status, um zu sehen, wie Git Dateien verfolgt und welche Dateien es noch nicht kennt.

Zunächst stellen Sie sicher, dass Sie sich im Verzeichnis my-time-machine befinden. Wenn nicht, verwenden Sie den Befehl cd:

cd ~/project/my-time-machine

Jetzt erstellen wir eine neue Datei in diesem Verzeichnis. Wir nennen sie notes.txt:

echo "Ideas for future projects" > notes.txt

Dieser Befehl erstellt eine Datei namens notes.txt und fügt den Text "Ideas for future projects" hinein.

Jetzt fragen wir Git nach dem Status unseres Repositorys:

git status

Sie sollten eine Ausgabe ähnlich dieser sehen:

On branch master
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        notes.txt

Beachten Sie den Abschnitt "Untracked files:" (Nicht verfolgte Dateien). Git erkennt, dass eine neue Datei, notes.txt, im Verzeichnis existiert, aber sie noch nicht Teil der Repository-Geschichte ist. Git verfolgt nicht automatisch jede Datei, die Sie erstellen. Dies gibt Ihnen die Kontrolle darüber, welche Dateien in Ihrer Versionskontrolle enthalten sind.

Warum ist das wichtig? Stellen Sie sich vor, Sie haben temporäre Dateien, Build-Ausgaben oder persönliche Notizen in Ihrem Projektverzeichnis. Sie möchten nicht, dass diese die Geschichte Ihres Projekts verwässern. Der "untracked" (nicht verfolgte) Status von Git ermöglicht es Ihnen, diese Dateien von den Dateien zu trennen, die Sie aktiv mit der Versionskontrolle verwalten.

Im nächsten Schritt werden wir eine andere Möglichkeit untersuchen, diese nicht verfolgten Dateien aufzulisten.

Verwenden Sie git ls-files --others

Im vorherigen Schritt haben wir gesehen, dass git status uns nicht verfolgte (untracked) Dateien anzeigt. Git bietet auch einen direkteren Befehl, der speziell für die Auflistung von Dateien im Index und im Arbeitsverzeichnis (working tree) dient. Wir können den Befehl git ls-files mit der Option --others verwenden, um nur die nicht verfolgten Dateien aufzulisten.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden:

cd ~/project/my-time-machine

Jetzt führen Sie den folgenden Befehl aus:

git ls-files --others

Sie sollten die folgende Ausgabe sehen:

notes.txt

Dieser Befehl listet speziell Dateien auf, die in Ihrem Arbeitsverzeichnis vorhanden sind, aber von Git nicht verfolgt werden. Dies ist ein nützlicher Befehl, wenn Sie eine saubere Liste nur der Dateien haben möchten, die Git derzeit ignoriert oder noch nicht kennt.

Vergleich zwischen git status und git ls-files --others:

  • git status gibt Ihnen einen umfassenden Überblick über den Zustand Ihres Repositorys, einschließlich verfolgter Dateien mit Änderungen, vorgestagten Änderungen (staged changes) und nicht verfolgten Dateien.
  • git ls-files --others ist zielgerichteter und listet nur die nicht verfolgten Dateien auf.

Beide Befehle sind in verschiedenen Situationen nützlich. git status eignet sich hervorragend für einen allgemeinen Überblick, während git ls-files --others praktisch ist, wenn Sie speziell nicht verfolgte Dateien identifizieren möchten, um möglicherweise zu entscheiden, ob Sie sie dem Repository hinzufügen oder ignorieren möchten.

Im nächsten Schritt werden wir den Unterschied zwischen verfolgten und nicht verfolgten Dateien weiter untersuchen, indem wir eine weitere Datei hinzufügen und beobachten, wie Git darauf reagiert.

Testen von verfolgten vs. nicht verfolgten Dateien

In diesem Schritt vertiefen wir unser Verständnis von verfolgten (tracked) und nicht verfolgten (untracked) Dateien, indem wir notes.txt zur Git-Verfolgung hinzufügen und die Änderung des Status beobachten.

Zunächst stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine befinden:

cd ~/project/my-time-machine

Jetzt sagen wir Git mit dem Befehl git add, dass es die Datei notes.txt verfolgen soll:

git add notes.txt

Dieser Befehl fügt notes.txt in die staging area (Vorbereitungsbereich) ein und bereitet es für die Aufnahme in den nächsten Commit vor.

Jetzt überprüfen wir erneut den Status unseres Repositorys:

git status

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

On branch master
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt
        new file:   notes.txt

Beachten Sie, dass notes.txt nicht mehr unter "Untracked files:" (Nicht verfolgte Dateien) aufgeführt ist. Stattdessen erscheint es unter "Changes to be committed:" (Änderungen, die committed werden sollen) und ist als "new file" (neue Datei) markiert. Dies bedeutet, dass Git jetzt notes.txt verfolgt und es bereit ist, in Ihrem nächsten Save-Point (Commit) aufgenommen zu werden.

Dies zeigt den wesentlichen Unterschied auf:

  • Nicht verfolgte Dateien: Dateien, die sich in Ihrem Arbeitsverzeichnis befinden, aber noch nicht mit git add in die staging area hinzugefügt wurden. Git weiß, dass sie existieren, verwaltet aber ihre Versionen nicht.
  • Verfolgte Dateien: Dateien, die Git aktiv verwaltet. Sobald eine Datei hinzugefügt und committed wurde, verfolgt Git ihre Änderungen im Laufe der Zeit.

Mit git add geben Sie Git explizit an, welche Dateien Sie in Ihrem versionskontrollierten Projekt aufnehmen möchten. Diese Kontrolle ist für die effektive Verwaltung Ihres Projekts und die Aufrechterhaltung einer sauberen Projektgeschichte unerlässlich.

Im nächsten Lab werden wir auf diesen Grundlagen aufbauen, um weitere Commits zu erstellen und die Macht der Git-Geschichte zu erkunden.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man nicht verfolgte (untracked) Dateien in einem Git-Repository identifiziert. Zunächst haben wir den Befehl git status verwendet, der einen umfassenden Überblick über den Zustand des Repositorys gibt, einschließlich eines speziellen Abschnitts für nicht verfolgte Dateien. Dies hat gezeigt, wie Git zwischen Dateien unterscheidet, die es aktiv verfolgt, und neuen Dateien, von denen es noch nichts weiß.

Anschließend haben wir den Befehl git ls-files --others untersucht, der als alternative Methode speziell dafür entwickelt wurde, nur die nicht verfolgten Dateien im Arbeitsverzeichnis (working directory) aufzulisten. Dieser Befehl bietet eine zielgerichtetere Möglichkeit, zu sehen, welche Dateien derzeit nicht unter Git-Versionskontrolle stehen. Das Verständnis, wie man nicht verfolgte Dateien identifiziert, ist entscheidend für die Verwaltung der Dateien, die in die Projektgeschichte aufgenommen werden, und für die Aufrechterhaltung eines sauberen Repositorys.