10 Git-Befehle und ihre Erläuterungen

Dieses Kapitel enthält ausführliche Erklärungen zu den grundlegendsten Git-Befehlen, die in der Versionsverwaltung wichtig sind. Jeder Befehl wird mit Beispielen verdeutlicht, um das Verständnis und die Anwendung in der Praxis zu erleichtern.


10.1 Repository-Befehle

10.1.1 git init

Initialisiert ein neues Git-Repository im aktuellen Verzeichnis. Dies ist der erste Schritt bei der Versionsverwaltung eines Projekts.

cd mein-projekt
git init

Nach der Ausführung enthält das Verzeichnis nun einen .git-Ordner, der alle Repository-Daten speichert.

10.1.2 git clone <url>

Kopiert ein bestehendes Repository aus einer entfernten Quelle (z.B. GitHub) lokal. Dieser Befehl wird häufig genutzt, um an bereits vorhandenen Projekten mitzuarbeiten.

git clone https://github.com/beispiel/mein-repo.git

Ergebnis: Das Repository wird in einem neuen Verzeichnis mein-repo geklont.


10.2 Arbeitsabläufe

10.2.1 git add <file>

Fügt eine Datei zur Staging-Area hinzu. Dies ist der erste Schritt, um Änderungen an einer Datei festzuhalten.

git add index.html

Verwendung: git add markiert die Datei für den nächsten Commit, sodass nur bestimmte Änderungen berücksichtigt werden.

10.2.2 git commit -m "<message>"

Speichert die Änderungen in einem neuen Commit. Jeder Commit repräsentiert einen bestimmten Stand des Projekts.

git commit -m "Füge neue Features hinzu"

Tipp: Schreib eine klare Commit-Nachricht, die die Änderungen beschreibt.

10.2.3 git push

Überträgt alle lokalen Commits zum Remote-Repository. git push ist notwendig, um Änderungen für andere Teammitglieder zugänglich zu machen.

git push origin main

Ergebnis: Alle Änderungen werden zum Remote-Branch main gepusht.

10.2.4 git pull

Lädt Änderungen vom Remote-Repository herunter und integriert sie in den aktuellen Branch. git pull kombiniert git fetch und git merge.

git pull origin main

Anwendung: Dies hält die lokale Kopie des Branches mit der Remote-Version synchron.

10.2.5 git fetch

Lädt neue Änderungen vom Remote-Repository herunter, ohne sie in den aktuellen Branch zu mergen. Dieser Befehl ist nützlich, um zu sehen, welche Änderungen im Remote-Branch vorhanden sind.

git fetch origin main

Ergebnis: Der aktuelle Branch bleibt unverändert, aber neue Commits im Remote-Branch sind nun lokal sichtbar.


10.3 Branch- und Tag-Verwaltung

10.3.1 git branch

Listet alle lokalen Branches auf oder erstellt einen neuen Branch. Branches ermöglichen parallele Entwicklungsstränge und isolierte Feature-Entwicklung.

git branch
git branch feature-xyz

Im Beispiel zeigt git branch alle Branches an, und git branch feature-xyz erstellt einen neuen Branch namens feature-xyz.

10.3.2 git checkout <branch>

Wechselt zu einem anderen Branch. So können verschiedene Versionen des Projekts schnell genutzt werden.

git checkout feature-xyz

Option: Mit git checkout -b <branch-name> lässt sich ein neuer Branch erstellen und direkt wechseln.

10.3.3 git merge <branch>

Integriert die Änderungen eines Branches in den aktuellen Branch. git merge wird verwendet, um Feature-Branches in den Hauptzweig zu integrieren.

git checkout main
git merge feature-xyz

Tipp: Vor dem Merge sollten Konflikte behoben werden, um eine reibungslose Integration sicherzustellen.

10.3.4 git tag <name>

Erstellt einen Tag für einen Commit, um eine Version festzuhalten. Tags sind nützlich für Release-Versionen.

git tag v1.0.0
git push origin v1.0.0

Tags werden in der Regel für wichtige Versionen gesetzt und im Remote-Repository gespeichert.


10.4 Verfolgung und Historie

10.4.1 git log

Zeigt die Commit-Historie an und enthält Details wie Commit-Hash, Autor und Nachricht.

git log

Optionen: git log --oneline zeigt eine kompakte Ansicht, während git log -p Details der Änderungen für jeden Commit anzeigt.

10.4.2 git diff

Vergleicht Änderungen zwischen Commits, Staging-Area und Arbeitsverzeichnis. git diff ist nützlich, um zu sehen, was seit dem letzten Commit verändert wurde.

git diff

Beispiele: - git diff HEAD zeigt Änderungen seit dem letzten Commit. - git diff <commit1> <commit2> vergleicht zwei Commits.

10.4.3 git status

Zeigt den Status des Arbeitsverzeichnisses und der Staging-Area an, einschließlich aller ungestagten oder nicht-committeten Änderungen.

git status

Verwendung: git status gibt eine Übersicht über Dateien, die bereit zum Commit oder noch unversioniert sind.


10.5 Referenz

Weitere Informationen und detaillierte Beschreibungen zu Git-Befehlen sind in der offiziellen Dokumentation unter git-scm.com/docs zu finden.