Git ist aus der heutigen IT-Landschaft, insbesondere in der Softwareentwicklung, nicht mehr wegzudenken und hat sich als Standard-Werkzeug für die Versionskontrolle etabliert. Doch gerade für Einsteiger stellt sich oft die Frage: Wie genau funktioniert der Git Workflow für Einsteiger und welche Befehle sind wirklich wichtig?
In diesem Beitrag führen wir Sie deshalb Schritt für Schritt durch den essenziellen Workflow, den jeder Entwickler beherrschen sollte: vom Klonen eines Projekts über das Sichern der eigenen Änderungen bis hin zum finalen Merge Request.
Der grundlegende Git Workflow für Einsteiger in 7 Schritten
1. Das Repository klonen
Ausgangslage
Es existiert ein Git-Repository auf einer Plattform wie GitLab. Damit Sie damit arbeiten können, müssen Sie eine vollständige lokale Kopie dieses Repositories auf Ihrem Rechner erstellen. Diesen Prozess bezeichnet man als Klonen.
Voraussetzungen
- Git ist lokal installiert.
- Ein GitLab-Account besteht.
- Ein SSH-Key wurde eingerichtet und mit dem GitLab-Account verknüpft. Die Verbindung kann wie folgt getestet werden:
ssh -T git@git.admin-box.de
# Erfolgreiche Antwort: Welcome to GitLab, @ihr.benutzername!
Vorgehen
- Melden Sie sich bei GitLab an und navigieren Sie zum gewünschten Projekt.
- Klicken Sie auf den Button „Code“ und kopieren Sie anschließend unter der Option „Clone with SSH“ die angezeigte URL.
- Öffnen Sie ein Terminal und wechseln Sie in das Zielverzeichnis auf Ihrem Rechner.
- Führen Sie den Befehl
git clone
mit der kopierten URL aus:
git clone git@git.admin-box.de:ein.benutzername/dasrepo.git
Hinweis: Das Repository ist nicht nur eine lokale Kopie der Dateien, sondern beinhaltet auch die Verbindung zum Ursprungs-Repository (remote
). Dies lässt sich mit git remote -v
im Projektverzeichnis überprüfen. Standardmäßig befinden Sie sich nach dem Klonen auf dem Haupt-Branch (main
), weshalb Sie hier niemals direkte Änderungen vornehmen sollten.
2. Einen neuen Branch erstellen
Ausgangslage
Sie haben das Repository geklont. Um nun isoliert und sicher Änderungen vornehmen zu können, ohne den stabilen main
-Branch zu beeinflussen, erstellen Sie einen eigenen Branch (Zweig).
Vorgehen
Der effizienteste Weg, einen neuen Branch zu erstellen und direkt zu ihm zu wechseln, ist der checkout
-Befehl mit der -b
Option.
# Wechsel in das Projektverzeichnis
cd dasrepo/
# Erstellt einen neuen Branch und wechselt sofort dorthin
git checkout -b name-des-neuen-branch
Dieser Befehl ist eine Abkürzung für die zwei einzelnen Schritte:git branch <name>
#erstellen des Branchgit checkout <name>
#wechseln zu dem Branch
Hinweis: Innerhalb von Teams haben sich Konventionen für die Benennung von Branches etabliert. Eine gängige und sehr übersichtliche Methode ist folgendes Schema, um die Nachvollziehbarkeit zu gewährleisten: JJJJ-MM-TT-Initialen-Kurzbeschreibung-der-Aufgabe
.
3. Änderungen für den Commit vorbereiten (Add)
Ausgangslage
Sie haben auf dem neuen Branch Dateien bearbeitet, hinzugefügt oder gelöscht. Im nächsten Schritt müssen Sie Git explizit mitteilen, welche dieser Änderungen für den nächsten Speicherpunkt (Commit) vorgesehen sind.
Vorgehen
- Änderungen anzeigen: Mit
git status
erhalten Sie eine Übersicht aller geänderten, neuen oder gelöschten Dateien. - Dateien zur Staging Area hinzufügen: Die Staging Area dient als Zwischenspeicher für den nächsten Commit.
# Fügt eine einzelne, spezifische Datei hinzu
git add datei.php
# Fügt alle geänderten und neuen Dateien im aktuellen Verzeichnis hinzu
git add .
Hinweis: Sollten Sie eine Datei versehentlich zur Staging Area hinzugefügt haben, können Sie dies mit den folgenden Befehlen rückgängig machen: git restore --staged <dateiname>
# einzelne Datei git restore --staged .
# alle Dateien
4. Änderungen lokal sichern (Commit)
Ausgangslage
Die gewünschten Änderungen befinden sich in der Staging Area und Sie möchten diese nun als permanenten Snapshot in der lokalen Versionsgeschichte des Branches sichern.
Vorgehen
Der git commit
-Befehl erstellt diesen Snapshot, wobei jeder Commit eine aussagekräftige Nachricht erfordert.
# Commit mit einer kurzen, einzeiligen Nachricht
git commit -m "Feat: Login-Formular Validierung hinzugefügt"
# Öffnet den konfigurierten Standard-Texteditor für eine ausführlichere Nachricht
git commit
Hinweis: Ein Commit speichert die Änderungen ausschließlich in Ihrem lokalen Repository, sodass sie für andere Teammitglieder noch nicht sichtbar sind. Regelmäßige, kleine Commits mit klaren Nachrichten sind daher essenziell für einen nachvollziehbaren Projektverlauf.
5. Lokale Änderungen auf den Server übertragen (Push)
Ausgangslage
Sie haben einen oder mehrere Commits lokal erstellt und möchten diese nun in das zentrale Remote-Repository auf GitLab hochladen, um sie dem Team zur Verfügung zu stellen.
Vorgehen
Der git push
-Befehl überträgt die lokalen Commits zum Remote-Repository.
git push origin name-ihres-branch
Falls Git den lokalen Branch noch keinem Remote-Branch zugeordnet hat (typisch beim ersten Push), erscheint eine Fehlermeldung. Die Lösung wird meist direkt mitgeliefert:
git push --set-upstream origin name-ihres-branch
Hinweis: Pushen Sie Ihre Arbeit regelmäßig, mindestens aber am Ende eines Arbeitstages. Dadurch sichern Sie nicht nur Ihre Arbeit extern, sondern fördern auch die Transparenz im Team.
6. Der Merge Request in GitLab
Ausgangslage
Die Entwicklungsarbeit auf dem Branch ist abgeschlossen und Sie haben die Änderungen gepusht. Anschließend sollen diese offiziell in den main
-Branch (oder einen anderen Ziel-Branch) übernommen werden.
Vorgehen
Dieser Prozess findet in der GitLab-Weboberfläche statt:
- Öffnen Sie das Projekt in GitLab.
- Navigieren Sie im Menü zu Code > Merge requests und klicken Sie auf „New merge request“.
- Source branch: Wählen Sie Ihren Branch.
- Target branch: Wählen Sie den Ziel-Branch (z.B.
main
). - Füllen Sie die Felder für Titel, Beschreibung, Assignee (Verantwortlicher für den Merge) und Reviewer (Prüfer) aus.
- Erstellen Sie den Merge Request zur Prüfung durch das Team.
Hinweis: Der Merge Request ist ein zentrales Werkzeug für die Qualitätssicherung, denn anders als beim lokalen git merge
-Befehl ermöglicht er Code-Reviews und Diskussionen, bevor Änderungen in einen produktiven Branch gelangen.
7. Den aktuellen Stand abrufen (Pull & Fetch)
Ausgangslage
Andere Teammitglieder haben zwischenzeitlich Änderungen in den main
-Branch gemerged. Damit Sie Ihre Arbeitsumgebung auf den neuesten Stand bringen und Konflikte vermeiden, müssen Sie diese Änderungen abrufen.
Vorgehen
Der einfachste Weg ist git pull
, da dieser Befehl die Änderungen holt und direkt zusammenführt:
# Zuerst auf den zu aktualisierenden Branch wechseln
git checkout main
# Änderungen vom Remote holen und mergen
git pull origin main
Für mehr Kontrolle können Sie den Prozess auch aufteilen: git fetch
holt die Daten nur ab, ohne lokale Dateien zu ändern. Mit git merge origin/main
führen Sie die Änderungen dann manuell zusammen.
Hinweis: Um Merge-Konflikte im eigenen Merge Request proaktiv zu vermeiden, ist es essenziell, den eigenen Feature-Branch regelmäßig mit dem Ziel-Branch zu synchronisieren. Der Workflow dafür lautet: git fetch origin
gefolgt von git merge origin/main
auf dem eigenen Branch.
Ihr Git Workflow für Einsteiger – Eine Zusammenfassung
Der hier gezeigte Git Workflow für Einsteiger – Klonen, Branchen, Committen, Pushen und Mergen via Merge Request – bildet das Fundament der täglichen Arbeit mit Git. Sobald Sie diese grundlegenden Schritte beherrschen, haben Sie die Voraussetzung für eine strukturierte und nachvollziehbare Zusammenarbeit in jedem Entwicklungsteam geschaffen. Mit etwas Routine werden diese Befehle dann schnell in den Arbeitsalltag übergehen.
Wir hoffen, dieser Guide war ein wertvoller Begleiter für Ihre ersten Schritte mit Git. Um Ihr Wissen auszubauen, empfehlen wir Ihnen unsere weiterführenden Artikel wie Top 10 Git Commands für Anfänger oder Effiziente Deployments mit GitLab Runner und CI/CD.
Hier können Sie gerne alle Artikel durchstöbern.Benötigen Sie professionelle Beratung oder maßgeschneiderte Unterstützung für Ihre Projekte? Besuchen Sie uns auf unserer Homepage, um unser gesamtes Leistungsportfolio zu entdecken und mit uns in Kontakt zu treten.