Git Repository
Git-Repository erklärt: Initialisieren mit git init, klonen mit git clone, Änderungen speichern und pushen.
Was ist ein Git Repository?
Ein Git Repository ist der Speicherort für Ihre Projektdateien zusammen mit der vollständigen Historie aller jemals daran vorgenommenen Änderungen. Es ermöglicht Ihnen, Versionen Ihres Codes zu speichern (Commits), zwischen diesen Versionen zu wechseln und mit anderen zusammenzuarbeiten, ohne Arbeit zu verlieren.
Diese Seite behandelt den gesamten Lebenszyklus eines Repositorys: das Erstellen, das Vornehmen und Speichern von Änderungen, die Verbindung zu einem Remote-Repository und das Teilen Ihrer Arbeit. Jeder Schritt verweist auf ein eigenes Kapitel, in dem Sie tiefer einsteigen können.

Das .git-Verzeichnis
Alles, was einen Ordner zu einem Repository macht, befindet sich in einem einzigen versteckten Unterverzeichnis namens .git im Projektstamm. Es enthält Ihre Commit-Historie, Branches, Tags, Konfiguration und den Staging-Bereich. Löschen Sie .git, bleiben Ihnen nur einfache Dateien – die Versionshistorie ist verloren. Kopieren Sie .git zusammen mit den Dateien, haben Sie das gesamte Repository kopiert.
Lokale vs. Remote-Repositories
Git ist ein verteiltes Versionskontrollsystem, daher gibt es zwei Arten von Repositorys, mit denen Sie arbeiten werden:
- Ein lokales Repository befindet sich auf Ihrem eigenen Rechner. Sie committen darin, erstellen darin Branches und inspizieren seine Historie offline – kein Netzwerk erforderlich.
- Ein Remote-Repository befindet sich auf einem Server (zum Beispiel GitHub oder Bitbucket). Es ist die gemeinsame Kopie, auf die Ihr Team pusht und von der es pullt.
Ein typischer Arbeitsablauf bearbeitet Dateien lokal, erfasst sie als Commits und synchronisiert diese Commits anschließend mit dem Remote-Repository.
Git Init zum Initialisieren eines neuen Repositorys
Verwenden Sie den Befehl git init, um einen bestehenden Ordner in ein Repository umzuwandeln. Sie führen ihn einmalig aus, wenn das Projekt noch keine Versionskontrolle hat.
git init
git initWenn Sie dies in Ihrem Projektordner ausführen, wird das versteckte .git-Unterverzeichnis erstellt und es wird etwa folgendes ausgegeben:
Initialized empty Git repository in /path/of/project/.git/Sie können das Repository auch in einem eigens benannten Ordner in einem einzigen Schritt erstellen, indem Sie ein Verzeichnis übergeben:
git init directory
git init <directory>Dies erstellt den Ordner (falls er nicht existiert) und initialisiert darin ein leeres Git Repository. Noch zeigt kein Branch auf einen Commit; der Standard-Branch (üblicherweise main oder master, abhängig von Ihrer Git-Version und Konfiguration) existiert erst nach Ihrem ersten Commit.
Git Clone zum Klonen eines bestehenden Repositorys
Wenn das Projekt bereits auf einem Remote-Server vorhanden ist, führen Sie kein git init aus. Verwenden Sie stattdessen git clone, um es auf Ihren Rechner zu kopieren. Dies ist ebenfalls ein einmaliger Vorgang pro Projekt.
git clone repo url
git clone <repo url>Das Klonen lädt die vollständige Historie und die Arbeitsdateien herunter und konfiguriert – anders als git init – die Quelle automatisch als Remote mit dem Namen origin. Das bedeutet, Sie können sofort git push und git pull ausführen, ohne zusätzliche Einrichtung.
Git Add und Git Commit zum Speichern von Änderungen im Repository
Das Speichern einer Änderung ist in Git ein zweistufiger Prozess. Zunächst verschiebt git add Änderungen in den Staging-Bereich (auch Index genannt) – eine Wartezone, in der Sie genau auswählen, was in den nächsten Snapshot aufgenommen wird. Dann zeichnet git commit diesen gestuften Inhalt als dauerhaften Punkt in der Historie auf. Die Aufteilung des Vorgangs erlaubt es Ihnen, jeweils nur einen Teil Ihrer Änderungen zu committen.
Der folgende Ablauf erstellt eine Datei, überprüft ihren Status, stellt sie bereit und committet sie:
- Wechseln Sie in das Verzeichnis
/path/of/project - Erstellen Sie eine neue Datei
GitCommit.txtmit dem Inhalt "commit example for git repo" - Führen Sie git status aus, um zu bestätigen, dass die neue Datei unverfolgt ist
- Führen Sie
git add GitCommit.txtaus, um sie in den Staging-Bereich zu verschieben - Führen Sie
git commitmit einer Nachricht aus, die die geleistete Arbeit beschreibt
git add and git commit
cd /path/of/project
echo "commit example for git repo" >> GitCommit.txt
git status
git add GitCommit.txt
git commit -m "added GitCommit.txt to the repo"Führen Sie git status jederzeit aus, um zu sehen, welche Dateien unverfolgt, im Staging-Bereich oder geändert sind. Nur Dateien, die Sie explizit mit git add hinzugefügt haben, werden in den nächsten Commit aufgenommen. Um Build-Ausgaben, Geheimnisse oder Abhängigkeiten vollständig aus dem Repository herauszuhalten, listen Sie diese in einer .gitignore-Datei auf.
Git Remote Add zum Verbinden mit einem Remote-Repository
Wenn Sie das Repository mit git init erstellt haben, hat es noch kein Remote. Fügen Sie eines mit dem Befehl git remote hinzu. Konventionsgemäß wird das primäre Remote origin genannt:
git remote add
git remote add origin <remote_repo_url>Überprüfen Sie, ob das Remote registriert wurde, bevor Sie pushen:
git remote -vDies gibt die Fetch- und Push-URLs für jedes konfigurierte Remote aus, zum Beispiel:
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)(Repositorys, die mit git clone erstellt wurden, haben origin bereits gesetzt, sodass Sie diesen Schritt überspringen können.)
Git Push für die Interaktion mit dem Repository
Wenn Sie git clone verwendet haben, ist bereits ein Remote-Repository konfiguriert, sodass Sie git push ausführen können, um Ihre Änderungen zu pushen. Wenn Sie git init verwendet haben, müssen Sie zuerst ein Remote-Repository hinzufügen (siehe oben). Sie können einen gehosteten Git-Dienst wie GitHub oder Bitbucket verwenden, dort ein Repository erstellen und die bereitgestellte URL verwenden, um Ihr lokales Projekt zu verbinden.
Nachdem Sie das Remote hinzugefügt haben, können Sie lokale Branches dorthin pushen:
git push
git push -u origin mainDie Option -u (kurz für --set-upstream) bewirkt zweierlei: Sie pusht Ihre Änderungen und verknüpft Ihren lokalen Branch mit dem Remote-Branch. Sobald diese Verknüpfung eingerichtet ist, können Sie einfach git push und git pull ausführen, ohne jedes Mal das Remote oder den Branch benennen zu müssen.
Git Config für Konfiguration und Einrichtung
Vor Ihrem ersten Commit muss Git wissen, wer Sie sind. Der Befehl git config setzt Optionen, die Benutzeridentität, Einstellungen und das Repository-Verhalten steuern. Die Einstellungen befinden sich auf drei Ebenen, wobei jede die übergeordnetere überschreibt.
Verwenden Sie das Flag --global, um Optionen für den aktuellen Benutzer zu setzen. Diese gelten für jedes Repository, das Ihnen gehört, was der richtige Geltungsbereich für Ihren Namen und Ihre E-Mail-Adresse ist:
git repository, git config global user.name
git config --global user.name <name>
git config --global user.email <email>Verwenden Sie --local (der Standard, wenn Sie kein Geltungsbereichs-Flag angeben), um eine Option nur für das aktuelle Repository zu setzen. Dies ist praktisch, wenn ein Projekt eine andere Identität als Ihren globalen Standard benötigt:
git repository, git config local user.email
git config --local user.email <email>Verwenden Sie --system, um die Konfiguration für jeden Benutzer und jedes Repository auf dem Rechner zu setzen – zum Beispiel einen gemeinsamen Standard-Editor:
git config system editor
git config --system core.editor <editor>Wenn derselbe Schlüssel auf mehr als einer Ebene gesetzt ist, gewinnt local gegenüber global, und global gewinnt gegenüber system, sodass ein Repository-spezifischer Wert immer Vorrang hat.
Alles zusammenführen
Für ein brandneues Projekt, das Sie teilen möchten, lautet die vollständige Sequenz:
git init
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
echo "# My Project" >> README.md
git add README.md
git commit -m "Initial commit"
git remote add origin <remote_repo_url>
git push -u origin mainWenn das Projekt stattdessen bereits auf einem Remote vorhanden ist, überspringen Sie git init und git remote add – git clone <repo url> liefert Ihnen in einem einzigen Befehl ein gebrauchsfertiges Repository.
Von hier aus können Sie die einzelnen Befehle vertiefen: git add und git commit zum Speichern von Arbeit, git status zum Inspizieren und git push / git pull zum Synchronisieren mit dem Remote.