Arbeiten mit Dateien und der Staging-Area

GitGitBeginner
Jetzt üben

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

Einführung

Willkommen zurück, angehender Zeitreisender! Jetzt ist es an der Zeit, Ihre Git-Fähigkeiten auf die nächste Stufe zu heben und die faszinierende Welt der Staging-Area (Zwischenspeicherbereich) zu erkunden.

In diesem Lab werden wir tiefer in die Dateiverwaltungsmöglichkeiten von Git eintauchen. Sie werden lernen, wie Sie Dateien in Ihrem Projekt hinzufügen und entfernen, Dateien ignorieren, die Sie nicht verfolgen möchten, Änderungen vor dem Commit anzeigen und sogar Änderungen rückgängig machen können, wenn Sie einen Fehler machen. Diese Fähigkeiten sind wie ein Upgrade für Ihre Zeitmaschine - sie geben Ihnen mehr Kontrolle und Flexibilität, während Sie sich durch die Zeitlinie Ihres Projekts bewegen.

Am Ende dieses Labs werden Sie die Staging-Area von Git besser verstehen und wissen, wie sie Ihnen hilft, organisiertere und sinnvollere Commits zu erstellen. Also, lassen Sie uns unsere Terminals starten und diese aufregende Reise beginnen!

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 97% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Einrichten Ihres Arbeitsbereichs

Beginnen wir damit, ein neues Verzeichnis für dieses Lab zu erstellen. Öffnen Sie Ihr Terminal und geben Sie diese Befehle ein:

cd ~/project
mkdir git-staging-lab
cd git-staging-lab
git init

Diese Befehle erstellen ein neues Verzeichnis namens git-staging-lab, wechseln Sie in dieses Verzeichnis und initialisieren ein neues Git-Repository.

Jetzt erstellen wir ein einfaches Python-Skript, mit dem wir arbeiten können:

echo "print('Hello, Git!')" > hello.py

Dieser Befehl erstellt eine Datei namens hello.py mit einer einfachen Python-Print-Anweisung.

Hinzufügen von Dateien zur Staging-Area (Zwischenspeicherbereich)

Jetzt, da wir unsere hello.py-Datei haben, fügen wir sie zur Staging-Area hinzu. Die Staging-Area ist wie eine Vorbereitungszone, in der Sie alle Änderungen sammeln, die Sie in Ihren nächsten Commit aufnehmen möchten.

Führen Sie den folgenden Befehl aus:

git add hello.py

Dieser Befehl teilt Git mit, die hello.py-Datei zu verfolgen und sie in den nächsten Commit aufzunehmen.

Jetzt überprüfen wir den Status unseres Repositorys:

git status

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   hello.py

Diese Ausgabe sagt uns, dass hello.py jetzt in der Staging-Area ist und bereit für den Commit ist.

Warum brauchen wir eine Staging-Area? Stellen Sie sich vor, Sie packen sich für eine Reise. Die Staging-Area ist wie Ihr Koffer - Sie können Gegenstände (Änderungen) hineinlegen, Gegenstände entfernen, wenn Sie Ihre Meinung ändern, und wenn Sie mit allem im Koffer zufrieden sind, schließen Sie ihn (machen einen Commit). Dies ermöglicht es Ihnen, sorgfältig zu entscheiden, was in jeden Commit aufgenommen wird, und macht Ihre Projektgeschichte organisierter und sinnvoller.

Ignorieren von Dateien mit.gitignore

Manchmal gibt es Dateien, die Sie nicht von Git verfolgen lassen möchten, wie temporäre Dateien oder sensible Informationen. Git ermöglicht es Ihnen, diese Dateien mithilfe einer speziellen Datei namens .gitignore zu ignorieren.

Erstellen wir eine .gitignore-Datei:

echo "*.log" > .gitignore

Dieser Befehl erstellt eine .gitignore-Datei, die Git anweist, alle Dateien mit der Endung .log zu ignorieren.

Jetzt erstellen wir eine Log-Datei, um unsere .gitignore-Datei zu testen:

echo "This is a log file" > debug.log

Überprüfen Sie den Status Ihres Repositorys:

git status

Sie sollten sehen, dass debug.log nicht in der Ausgabe aufgeführt ist, aber .gitignore schon:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   hello.py

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

Die .gitignore-Datei ist sehr leistungsstark. Sie kann bestimmte Dateien, ganze Verzeichnisse ignorieren oder Mustervergleiche verwenden, um Dateien zu ignorieren, die bestimmten Kriterien entsprechen. Dies ist in realen Projekten unglaublich nützlich, in denen Sie möglicherweise Build-Artefakte, Cache-Dateien oder umgebungsspezifische Konfigurationsdateien haben, die nicht Teil Ihres Git-Repositorys sein sollten.

Fügen wir unsere Änderungen hinzu und committen Sie sie:

git add.gitignore
git commit -m "Initial commit with hello.py and.gitignore"

Anzeigen von Änderungen mit git diff

Wenn Ihr Projekt wächst, möchten Sie Ihre Änderungen oft überprüfen, bevor Sie sie committen. Git bietet hierfür einen leistungsstarken Befehl: git diff.

Ändern wir unsere hello.py-Datei:

echo "print('Hello, Git! Welcome to the staging area.')" > hello.py

Jetzt verwenden wir git diff, um die vorgenommenen Änderungen anzuzeigen:

git diff

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

diff --git a/hello.py b/hello.py
index ed51d3f..1385fe3 100644
--- a/hello.py
+++ b/hello.py
@@ -1 +1 @@
-print('Hello, Git!')
+print('Hello, Git! Welcome to the staging area.')

Diese Ausgabe zeigt uns genau, was in unserer Datei geändert wurde. Die Zeile mit dem - zeigt, was entfernt wurde, und die Zeile mit dem + zeigt, was hinzugefügt wurde.

git diff ist wie das Logbuch einer Zeitmaschine. Es ermöglicht Ihnen, die genauen Änderungen zu sehen, die Sie vorgenommen haben. Dies ist unglaublich nützlich, wenn Sie sich daran erinnern möchten, was Sie getan haben, oder wenn Sie die Änderungen vor einem Commit überprüfen möchten. git diff --staged ist eine weitere nützliche Variante dieses Befehls. Sie zeigt die Änderungen an, die Sie in die Staging-Area (Zwischenspeicherbereich) gelegt, aber noch nicht committet haben. Dies ist hilfreich, wenn Sie Ihre Änderungen überprüfen möchten, bevor Sie einen Commit erstellen.

Drücken Sie q, um die git diff-Ansicht zu verlassen.

Rückgängig machen der Staging von Änderungen

Manchmal fügen Sie möglicherweise eine Datei zur Staging-Area hinzu und ändern dann Ihre Meinung. Git ermöglicht es Ihnen, Änderungen in der Staging-Area einfach rückgängig zu machen.

Zunächst fügen wir unsere Änderungen an hello.py zur Staging-Area hinzu:

git add hello.py

Nehmen wir nun an, wir haben uns entschieden, diese Änderungen nicht in unseren nächsten Commit aufzunehmen. Wir können die Datei aus der Staging-Area entfernen, indem wir den Befehl git restore verwenden:

git restore --staged hello.py

Überprüfen wir den Status:

git status

Sie sollten sehen, dass hello.py jetzt unter "Changes not staged for commit" (Änderungen, die nicht für den Commit vorgemerkt sind) aufgeführt ist, anstatt unter "Changes to be committed" (Änderungen, die für den Commit vorgemerkt sind).

Diese Möglichkeit, Dateien in die Staging-Area zu verschieben und aus ihr zu entfernen, gibt Ihnen eine feingliedrige Kontrolle über Ihre Commits. Es ist wie das Packen und Entpacken Ihres Koffers so oft wie Sie möchten, bevor Sie tatsächlich auf Ihre Reise gehen.

Zusammenfassung

Herzlichen Glückwunsch, Git-Entdecker! Sie haben gerade Ihre Versionskontrollkenntnisse auf eine neue Stufe gehoben. Lassen Sie uns zusammenfassen, was Sie in diesem Lab gelernt haben:

  1. Wie man Dateien mit git add zur Staging-Area hinzufügt
  2. Wie man Dateien, die man nicht verfolgen möchte, mit .gitignore ignoriert
  3. Wie man die Änderungen in Ihren Dateien vor dem Commit mit git diff anzeigt
  4. Wie man Änderungen aus der Staging-Area entfernt mit git restore --staged

Diese Fähigkeiten geben Ihnen viel mehr Kontrolle über Ihren Git-Arbeitsablauf. Insbesondere die Staging-Area ist ein leistungsstarkes Feature, das es Ihnen ermöglicht, sinnvollere Commits zu erstellen, indem Sie sorgfältig auswählen, welche Änderungen Sie aufnehmen möchten.

Hier ist, warum diese Fähigkeiten so wichtig sind:

  1. Selektive Commits: Die Staging-Area ermöglicht es Ihnen, nur einige Ihrer Änderungen zu committen, was Ihnen hilft, kleinere, fokussiertere Commits zu erstellen.
  2. Ignorieren von Dateien: .gitignore hilft, Ihr Repository sauber zu halten, indem es Dateien ausschließt, die nicht versioniert werden müssen.
  3. Überprüfen von Änderungen: git diff ermöglicht es Ihnen, Ihre Änderungen vor dem Commit noch einmal zu überprüfen, was Ihnen hilft, Fehler frühzeitig zu entdecken.
  4. Flexibilität: Die Möglichkeit, Änderungen aus der Staging-Area zu entfernen, gibt Ihnen die Freiheit, Ihre Meinung zu ändern und macht Git weniger einschüchternd in der Verwendung.

Wenn Sie Ihre Git-Reise fortsetzen, werden Sie diese Fähigkeiten als unschätzbar erachten. Sie bilden die Grundlage für einen fortgeschrittenen Git-Arbeitsablauf und ermöglichen es Ihnen, komplexe Projekte problemlos zu verwalten.

Denken Sie daran, dass die Beherrschung von Git Übung erfordert. Seien Sie nicht afraid, zu experimentieren und Fehler zu machen – so lernen wir! Bleiben Sie neugierig, machen Sie weiter Commits und beobachten Sie, wie sich Ihre Projekte im Laufe der Zeit entwickeln.

Ihre nächste Abenteuer in der Welt von Git liegt direkt vor der Tür. Behalten Sie Ihre Neugierde wach und viel Spaß beim Programmieren!