- 1 Abschnitt
- 10 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
- Versionsverwaltung11
- 1.1Einführung in die Versionsverwaltung
- 1.2Überblick über gängige Versionsverwaltungssysteme
- 1.3Installation und Einrichtung
- 1.4Grundlegende Befehle und Konzepte in Git
- 1.5Fortgeschrittene Git-Funktionen
- 1.6Zusammenarbeit und Workflows
- 1.7Integration und Automatisierung
- 1.8Best Practices und Fallstricke
- 1.9Versionsverwaltung8 Fragen
- 1.10Aufgaben
- 1.11Lösungen
Best Practices und Fallstricke
Best Practices
Um die Arbeit mit Git effizient und effektiv zu gestalten, gibt es eine Reihe von Best Practices, die sich bewährt haben. Diese helfen dabei, die Codebasis sauber zu halten und die Zusammenarbeit im Team zu verbessern.
1. Regelmäßige und kleine Commits:
- Warum: Kleine und häufige Commits erleichtern die Nachverfolgbarkeit von Änderungen und die Identifizierung von Fehlern.
- Wie: Committe Änderungen, sobald eine logische Einheit abgeschlossen ist. Vermeide es, große Mengen an Änderungen auf einmal zu committen.
Beispiel:
git add <datei>
git commit -m "Implementiert Feature X"
2. Aussagekräftige Commit-Nachrichten:
- Warum: Klare und prägnante Commit-Nachrichten helfen, die Historie des Projekts besser zu verstehen.
- Wie: Verwende die imperative Form („Fügt Feature X hinzu“) und gib Kontext zur Änderung.
Beispiel:
git commit -m "Fügt die Authentifizierungslogik hinzu"
3. Arbeiten mit Branches:
- Warum: Branches ermöglichen parallele Entwicklung ohne Beeinflussung des Hauptzweigs.
- Wie: Erstelle Branches für Features, Bugs und Hotfixes und halte den Hauptzweig stabil.
Beispiel:
git checkout -b feature-branch
4. Regelmäßiges Pullen vom Remote-Repository:
- Warum: Dadurch wird sichergestellt, dass die lokale Kopie immer auf dem neuesten Stand ist.
- Wie: Ziehe regelmäßig Änderungen vom Remote-Repository, insbesondere bevor du neue Änderungen pushst.
Beispiel:
git pull origin main
5. Code-Reviews und Pull Requests:
- Warum: Code-Reviews fördern die Qualität des Codes und ermöglichen es, Fehler frühzeitig zu erkennen.
- Wie: Nutze Pull Requests für Änderungen und führe regelmäßige Code-Reviews durch.
Beispiel:
- Erstelle einen Pull Request auf GitHub und bitte Teammitglieder um eine Überprüfung.
Häufige Fallstricke und wie man sie vermeidet
Auch wenn Git ein leistungsfähiges Werkzeug ist, gibt es einige häufige Fallstricke, die Entwickler beachten sollten.
1. Direkte Commits auf den Hauptzweig:
- Problem: Direkte Commits auf den Hauptzweig können instabilen Code einführen.
- Lösung: Nutze Branches für Entwicklung und Commits. Verwende Pull Requests, um Änderungen in den Hauptzweig zu integrieren.
Beispiel:
# Statt:
git commit -m "Änderung im Hauptzweig"
# Besser:
git checkout -b feature-branch
git commit -m "Änderung im Feature-Branch"
2. Merge-Konflikte ignorieren:
- Problem: Merge-Konflikte können zu inkonsistentem Code führen, wenn sie nicht korrekt gelöst werden.
- Lösung: Löse Konflikte sorgfältig und teste den Code nach der Konfliktlösung.
Beispiel:
git status # Zeigt Konflikte an
# Konflikte manuell lösen und dann:
git add <konfliktdateien>
git commit -m "Löst Merge-Konflikte"
3. Nicht verfolgte Dateien vergessen:
- Problem: Neue Dateien können leicht übersehen werden, wenn sie nicht dem Index hinzugefügt werden.
- Lösung: Überprüfe regelmäßig den Status und füge neue Dateien hinzu.
Beispiel:
git status # Zeigt nicht verfolgte Dateien an
git add <neue-datei>
git commit -m "Fügt neue Datei hinzu"
4. Große Binärdateien committen:
- Problem: Große Binärdateien können das Repository aufblähen und die Leistung beeinträchtigen.
- Lösung: Verwende Git LFS (Large File Storage) für große Dateien.
Beispiel:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git add <große-datei>
git commit -m "Fügt große Datei mit Git LFS hinzu"
5. Commit-Historie überschreiben:
- Problem: Befehle wie
git rebaseodergit resetkönnen die Commit-Historie ändern und Probleme verursachen. - Lösung: Sei vorsichtig mit diesen Befehlen und verwende sie nur, wenn du dir sicher bist.
Beispiel:
# Vorsichtig verwenden:
git rebase -i main
git reset --hard <commit-hash>
