Einführung
In diesem Lab lernen Sie die grundlegenden Befehle zur Verwaltung eines lokalen Git-Repositorys in einer Linux-Umgebung kennen. Sie beginnen mit der Initialisierung eines neuen Repositorys mittels git init und der Konfiguration Ihrer Benutzeridentität über git config. Dies sind die essenziellen ersten Schritte für jedes Projekt, das Git zur Versionskontrolle einsetzt.
Nach der Ersteinrichtung durchlaufen Sie den Kern-Workflow von Git. Dazu gehört das Erstellen einer neuen Datei, das Vormerken der Datei für die Nachverfolgung mit git add und das Speichern im Verlauf des Repositorys mittels git commit. Anschließend werden Sie die Datei ändern, die Änderungen committen und lernen, wie Sie die vollständige Commit-Historie mit dem Befehl git log einsehen, um die Entwicklung des Projekts nachzuvollziehen.
Git-Repository initialisieren und Benutzereinstellungen konfigurieren
In diesem Schritt beginnen Sie mit der Initialisierung eines neuen Git-Repositorys und der Konfiguration Ihrer Benutzerinformationen. Ein Git-Repository ist ein Verzeichnis, in dem Git die Änderungen an Ihren Projektdateien verfolgt. Die Initialisierung eines Repositorys ist der erste Schritt bei der Nutzung von Git zur Versionskontrolle.
Ihr aktuelles Arbeitsverzeichnis ist /home/labex/project. Wir werden dieses Verzeichnis verwenden, um unser Git-Repository zu erstellen.
Führen Sie zuerst den Befehl git init aus. Dieser Befehl erstellt ein neues, leeres Git-Repository im aktuellen Verzeichnis. Dabei wird ein verstecktes Unterverzeichnis namens .git angelegt, das alle notwendigen Repository-Dateien enthält.
git init
Sie sollten eine Ausgabe sehen, die bestätigt, dass ein leeres Repository initialisiert wurde:
Initialized empty Git repository in /home/labex/project/.git/
Nachdem das Repository erstellt wurde, besteht der nächste Schritt darin, Ihre Benutzeridentität einzurichten. Git verwendet diese Informationen, um Ihren Namen und Ihre E-Mail-Adresse mit jedem von Ihnen erstellten Commit zu verknüpfen. Dies ist entscheidend, um in kollaborativen Projekten nachzuverfolgen, wer welche Änderungen vorgenommen hat.
Wir verwenden den Befehl git config mit dem Flag --global. Das Flag --global stellt sicher, dass diese Konfiguration für alle Git-Repositories gilt, mit denen Sie auf diesem System als Benutzer labex arbeiten.
Führen Sie die folgenden Befehle aus, um Ihren Benutzernamen und Ihre E-Mail-Adresse festzulegen. Für dieses Lab verwenden wir labex als Benutzernamen und labex@example.com als E-Mail.
git config --global user.name "labex"
git config --global user.email "labex@example.com"
Diese Befehle erzeugen bei Erfolg keine Ausgabe. Um zu überprüfen, ob die Konfiguration korrekt gesetzt wurde, können Sie alle Git-Konfigurationseinstellungen für Ihren Benutzer auflisten:
git config --list
Die Ausgabe zeigt eine Liste aller Einstellungen, einschließlich der gerade konfigurierten Werte für user.name und user.email:
user.name=labex
user.email=labex@example.com
...
Sie haben nun erfolgreich ein Git-Repository initialisiert und Ihre Benutzeridentität konfiguriert. Sie sind bereit, Dateien hinzuzufügen und Änderungen zu verfolgen.
Die erste Datei erstellen und mit git add und git commit speichern
In diesem Schritt erstellen Sie Ihre erste Datei und committen sie in das Git-Repository. Das "Committen" ist der Prozess, bei dem eine Momentaufnahme (Snapshot) Ihrer vorgemerkten Änderungen in der Historie des Repositorys gespeichert wird. Dieser Vorgang umfasst zwei Hauptbefehle: git add und git commit.
Erstellen wir zunächst eine einfache README.md-Datei. Dies ist eine in Projekten übliche Datei, die Informationen über das Projekt liefert. Wir verwenden den Befehl echo, um die Datei zu erstellen und Text hinzuzufügen. Alle Befehle sollten in Ihrem aktuellen Verzeichnis /home/labex/project ausgeführt werden.
echo "Hello, Git" > README.md
Nachdem Sie eine Datei erstellt haben, können Sie den Status Ihres Repositorys mit dem Befehl git status überprüfen. Dieser Befehl zeigt Ihnen den Zustand des Arbeitsverzeichnisses und des Index (Staging Area) an.
git status
Die Ausgabe wird etwa so aussehen:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
Diese Ausgabe teilt Ihnen mit, dass README.md eine "untracked file" (nicht nachverfolgte Datei) ist. Das bedeutet, Git sieht die Datei zwar, sie ist aber noch kein Teil der Versionshistorie des Repositorys.
Um mit der Nachverfolgung der neuen Datei zu beginnen, müssen Sie diese zur Staging Area hinzufügen. Die Staging Area ist ein Zwischenschritt, in dem Sie eine Gruppe von Änderungen vorbereiten können, bevor Sie diese committen. Verwenden Sie den Befehl git add, um README.md vorzumerken.
git add README.md
Dieser Befehl erzeugt keine Ausgabe. Um zu sehen, was passiert ist, führen Sie git status erneut aus.
git status
Nun hat sich die Ausgabe geändert:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
Die Datei wird nun unter "Changes to be committed" aufgeführt. Das bedeutet, sie befindet sich in der Staging Area und ist bereit für den nächsten Commit.
Um diesen Snapshot schließlich in der Projekthistorie zu speichern, verwenden Sie den Befehl git commit. Es gehört zum guten Ton, jedem Commit mit dem Flag -m eine aussagekräftige Nachricht beizufügen. Diese Nachricht erklärt, welche Änderungen vorgenommen wurden.
git commit -m "Initial commit: Added README.md"
Nach Ausführung des Befehls sehen Sie eine Bestätigungsmeldung, die den Commit zusammenfasst:
[master (root-commit) <commit_hash>] Initial commit: Added README.md
1 file changed, 1 insertion(+)
create mode 100644 README.md
Sie haben erfolgreich Ihren ersten Commit durchgeführt! Die Datei README.md ist nun offiziell Teil der Historie Ihres Git-Repositorys.
Eine Datei ändern und die Änderungen committen
In diesem Schritt lernen Sie, wie Sie Änderungen an einer bestehenden Datei nachverfolgen. Ein Hauptmerkmal der Versionskontrolle ist die Fähigkeit zu sehen, wie sich Dateien im Laufe der Zeit entwickeln. Dies geschieht, indem Änderungen jedes Mal committet werden, wenn eine Datei aktualisiert wird.
Wir arbeiten weiter mit der Datei README.md im Verzeichnis /home/labex/project. Fügen wir eine neue Textzeile hinzu. Wir verwenden wieder den Befehl echo, diesmal jedoch mit dem Operator >>, der den Inhalt an die Datei anhängt, anstatt sie zu überschreiben.
echo "This is a new line." >> README.md
Da die Datei nun geändert wurde, prüfen wir den Status des Repositorys mit git status.
git status
Git wird melden, dass die Datei README.md modifiziert wurde:
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: README.md
no changes added to commit (use "git add" and/or "git commit -a")
Die Ausgabe zeigt modified: README.md unter "Changes not staged for commit". Das bedeutet, Git hat die Änderung erkannt, aber sie wurde noch nicht zur Staging Area für den nächsten Commit hinzugefügt.
Genau wie bei einer neuen Datei müssen Sie git add verwenden, um die Änderungen vorzumerken. Dies teilt Git mit, dass Sie diese spezifischen Änderungen in Ihren nächsten Commit aufnehmen möchten.
git add README.md
Auch dieser Befehl erzeugt keine Ausgabe. Führen wir git status noch einmal aus, um zu bestätigen, dass die Änderung vorgemerkt wurde.
git status
Die Ausgabe zeigt die Datei nun unter "Changes to be committed":
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
Da die Änderungen nun vorgemerkt sind, können Sie diese in der Historie des Repositorys speichern. Verwenden Sie git commit mit einer klaren Nachricht, die das Update beschreibt.
git commit -m "Added a new line to README.md"
Sie erhalten eine Bestätigungsmeldung für den Commit:
[master <commit_hash>] Added a new line to README.md
1 file changed, 1 insertion(+)
Sie haben nun erfolgreich eine Datei geändert und die Änderungen committet. Dieser Workflow – Ändern, Vormerken (Stage) und Committen – ist der grundlegende Zyklus, den Sie bei der Arbeit mit Git immer wieder anwenden werden.
Die Commit-Historie mit git log überprüfen
In diesem letzten Schritt lernen Sie, wie Sie die Commit-Historie Ihres Repositorys einsehen. Der Befehl git log ist ein mächtiges Werkzeug, mit dem Sie eine chronologische Liste aller getätigten Commits anzeigen können. Dies ist unerlässlich, um die Entwicklung eines Projekts zu verstehen.
Führen Sie in Ihrem Verzeichnis /home/labex/project den Befehl git log aus:
git log
Dieser Befehl zeigt eine detaillierte Liste der von Ihnen erstellten Commits an, wobei der neueste Commit zuerst erscheint. Die Ausgabe wird in etwa so aussehen:
commit <commit_hash_2> (HEAD -> master)
Author: labex <labex@example.com>
Date: <commit_date_2>
Added a new line to README.md
commit <commit_hash_1>
Author: labex <labex@example.com>
Date: <commit_date_1>
Initial commit: Added README.md
Hier ist die Aufschlüsselung der Informationen für jeden Commit:
commit: Ein eindeutiger 40-stelliger SHA-1-Hash, der als Identifikator für den Commit dient.Author: Der Name und die E-Mail-Adresse der Person, die den Commit erstellt hat (basierend auf Ihrer Git-Konfiguration).Date: Der Zeitstempel, der angibt, wann der Commit erstellt wurde.- Commit-Nachricht: Der eingerückte Text ist die Nachricht, die Sie mit dem Flag
-mangegeben haben, um den Zweck des Commits zu erklären.
Das Log wird in einem Pager-Programm (wie less) angezeigt. Sie können mit den Pfeiltasten nach oben und unten scrollen. Um die Log-Ansicht zu verlassen und zum Terminal-Prompt zurückzukehren, drücken Sie einfach die Taste q.
Für eine kompaktere Ansicht der Historie können Sie das Flag --oneline verwenden. Dies ist nützlich, um einen schnellen Überblick zu erhalten.
git log --oneline
Die Ausgabe ist wesentlich kürzer und zeigt pro Commit nur den gekürzten Hash und die Commit-Nachricht in einer einzigen Zeile an:
<short_hash_2> (HEAD -> master) Added a new line to README.md
<short_hash_1> Initial commit: Added README.md
Herzlichen Glückwunsch! Sie haben nun den grundlegenden Workflow gelernt: ein Git-Repository initialisieren, Dateien hinzufügen und committen sowie die Projekthistorie überprüfen.
Zusammenfassung
In diesem Lab haben Sie die grundlegenden Schritte zur Verwaltung eines lokalen Git-Repositorys in einer Linux-Umgebung gelernt. Sie haben damit begonnen, ein neues Repository in einem Projektverzeichnis mit dem Befehl git init zu initialisieren. Nach der Initialisierung haben Sie wichtige Benutzereinstellungen konfiguriert, insbesondere Ihren Benutzernamen und Ihre E-Mail-Adresse mit dem Befehl git config --global, um sicherzustellen, dass alle zukünftigen Commits korrekt zugeordnet werden. Der Kernprozess der Versionskontrolle wurde anschließend geübt, indem eine neue Datei erstellt, mit git add für den nächsten Commit vorgemerkt und dann mit git commit dauerhaft in der Historie des Repositorys gespeichert wurde.
Darüber hinaus haben Sie den iterativen Prozess der Erstellung und Nachverfolgung von Änderungen praktiziert. Dies beinhaltete das Ändern einer bestehenden Datei und das anschließende Wiederholen des Zyklus aus Vormerken und Committen mit git add und git commit, um die neue Version zu sichern. Schließlich haben Sie gelernt, wie Sie die Projekthistorie mit dem Befehl git log einsehen können, der eine chronologische Liste aller Commits einschließlich ihrer eindeutigen Identifikatoren, Autoren, Daten und Commit-Nachrichten anzeigt. Dies bot einen klaren Überblick über die im Laufe der Zeit am Repository vorgenommenen Änderungen.



