So prüfen Sie, ob eine Datei im Git-Index ist

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 prüfen können, ob sich eine Datei im Git-Index (auch als Staging-Bereich bekannt) befindet. Wir werden das Konzept des Index und seine Rolle bei der Vorbereitung von Änderungen für Commits untersuchen.

Sie verwenden den Befehl git ls-files --stage, um den Inhalt des Index anzuzeigen, und den Befehl git status, um einen umfassenden Überblick über den Zustand Ihres Repositorys zu erhalten, einschließlich gestageter und nicht gestageter Änderungen. Abschließend testen Sie, wie Git mit Dateien umgeht, die noch nicht zum Index hinzugefügt wurden.


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-560028{{"So prüfen Sie, ob eine Datei im Git-Index ist"}} git/status -.-> lab-560028{{"So prüfen Sie, ob eine Datei im Git-Index ist"}} end

Führen Sie git ls-files --stage aus

In diesem Schritt werden wir uns mit dem Git-Index (auch als Staging-Bereich bekannt) befassen. Der Index ist ein entscheidendes Konzept in Git. Er ist wie eine Warteschleife, in der Sie Änderungen vorbereiten, bevor Sie sie committen.

Stellen Sie sich das so vor: Wenn Sie Dateien in Ihrem Arbeitsverzeichnis ändern, werden diese Änderungen nicht automatisch in Ihrem nächsten Commit enthalten sein. Sie müssen sie zunächst mit git add zum Index hinzufügen. Der Index enthält eine Momentaufnahme der Änderungen, die Sie gestaged haben und die bereit sind, committet zu werden.

Um zu sehen, was derzeit im Index ist, verwenden wir den Befehl git ls-files --stage. Dieser Befehl listet die Dateien auf, die derzeit für den nächsten Commit gestaged sind.

Probieren wir es in Ihrem my-time-machine-Verzeichnis aus:

cd ~/project/my-time-machine
git ls-files --stage

Da wir in diesem neuen Repository noch keine Dateien zum Index hinzugefügt haben, sollten Sie keine Ausgabe sehen. Dies zeigt an, dass der Index derzeit leer ist.

Das Verständnis des Index ist der Schlüssel zum Beherrschen von Git. Es gibt Ihnen eine feingliedrige Kontrolle darüber, was in jeden Commit aufgenommen wird, sodass Sie verwandte Änderungen zusammenfassen und Ihr Commit-Verlauf sauber und organisiert halten können.

Verwenden Sie git status zur Überprüfung des Index

Im vorherigen Schritt haben wir git ls-files --stage verwendet, um den Inhalt des Index anzuzeigen. Ein weiterer Befehl, der uns hilft, den Zustand unseres Repositorys, einschließlich des Index, zu verstehen, ist git status.

Der Befehl git status gibt eine Zusammenfassung darüber, was in Ihrem Arbeitsverzeichnis und im Staging-Bereich im Vergleich zu Ihrem letzten Commit passiert. Es zeigt Ihnen, welche Dateien geändert wurden, welche für den nächsten Commit gestaged sind und welche nicht verfolgt werden.

Lassen Sie uns git status in unserem my-time-machine-Verzeichnis ausführen:

cd ~/project/my-time-machine
git status

Da es sich um ein brandneues Repository handelt und wir noch keine Dateien erstellt oder Commits gemacht haben, sollte die Ausgabe in etwa so aussehen:

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

Diese Ausgabe bestätigt, dass es keine zu committierenden Änderungen gibt, was bedeutet, dass der Index leer ist, genau wie git ls-files --stage uns gezeigt hat. Die Meldung "nothing to commit" bezieht sich direkt auf den Zustand des Index.

Wenn wir uns im Laufe des Labs vorarbeiten und beginnen, Dateien zu erstellen und zu stage, werden Sie sehen, wie sich die Ausgabe von git status ändert, um den Inhalt des Index und den Zustand Ihres Arbeitsverzeichnisses widerzuspiegeln.

Testen von nicht-indizierten Dateien

In diesem Schritt werden wir eine neue Datei in unserem Arbeitsverzeichnis erstellen und beobachten, wie Git sie erkennt, bevor sie zum Index hinzugefügt wird. Dies wird Ihnen helfen, den Unterschied zwischen Dateien in Ihrem Arbeitsverzeichnis und Dateien im Index zu verstehen.

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

cd ~/project/my-time-machine

Jetzt erstellen wir eine einfache Textdatei mit dem echo-Befehl:

echo "This is a new file." > new_file.txt

Dieser Befehl erstellt eine Datei namens new_file.txt und schreibt den Text "This is a new file." hinein.

Jetzt überprüfen wir erneut den Status unseres Repositorys mit git status:

git status

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

On branch master

No commits yet

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

nothing added to commit but untracked files present (use "git add" to track)

Beachten Sie den Abschnitt "Untracked files:". Git erkennt, dass new_file.txt im Arbeitsverzeichnis existiert, aber noch nicht von Git verfolgt wird. Dies bedeutet, dass sie nicht im Index ist und kein Teil des Commit-Verlaufs ist.

Dies ist ein Schlüsselkonzept: Git verfolgt nur Dateien, die Sie explizit mit git add verfolgen lassen. Alle neuen Dateien, die im Arbeitsverzeichnis eines Git-Repositorys erstellt werden, sind zunächst "nicht verfolgt".

Im nächsten Schritt werden wir diese Datei zum Index hinzufügen und sie so für unseren ersten Commit vorbereiten.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob eine Datei im Git-Index (auch als Staging-Bereich bekannt) ist. Wir haben den Befehl git ls-files --stage verwendet, um direkt die Dateien aufzulisten, die derzeit für den nächsten Commit gestaged sind. Wir haben auch den Befehl git status untersucht, der einen umfassenden Überblick über den Zustand des Repositorys gibt, einschließlich Informationen über gestagte, geänderte und nicht verfolgte Dateien, und uns dabei hilft, den Inhalt des Index zu überprüfen.