📝 BLOG

Git und Versionskontrolle: Grundlegende Befehle und Workflows

Git ist das grundlegende Werkzeug der modernen Softwareentwicklung. Dieser Leitfaden behandelt Git's grundlegende Befehle, Branching-Strategien und Workflows.

Aktualisiert:

Erstellt von: Gsetsoft

Git und Versionskontrolle: Grundlegende Befehle und Workflows

Was ist Git und warum nutzen?

Git ist ein verteiltes Versionskontrollsystem. Verfolgt Codeänderungen, verwaltet verschiedene Versionen und erleichtert Teamarbeit.

Verteilte Struktur: Jeder Entwickler hat eine vollständige Kopie des Repositories. Ermöglicht Offline-Arbeit und schnelle Operationen.

Branching: Erstellen Sie separate Branches für verschiedene Features oder Fixes. Hält den Hauptcode (main/master) immer stabil.

Merge und Rebase: Branches in den Hauptbranch zusammenführen. Merge bewahrt Commit-Historie. Rebase erstellt lineare Historie.

Grundlegende Git-Befehle

git init: Neues Repository erstellen. git clone <url>: Bestehendes Repository kopieren.

git add <file>: Änderungen zur Staging Area hinzufügen. git add .: Alle Änderungen hinzufügen.

git commit -m "Nachricht": Gestagete Änderungen committen. Aussagekräftige Commit-Nachrichten schreiben.

git status: Repository-Status prüfen. git log: Commit-Historie anzeigen.

git diff: Unterschiede zwischen Arbeitsverzeichnis und Staging Area sehen. git diff --staged: Unterschiede zwischen Staging Area und letztem Commit sehen.

Branching und Merging

git branch <name>: Neuen Branch erstellen. git checkout <name> oder git switch <name>: Zu Branch wechseln.

git merge <branch>: Branch in aktuellen Branch zusammenführen. Fast-Forward Merge oder Three-Way Merge verwendet.

Merge-Konflikt: Manuelle Lösung bei widersprüchlichen Änderungen. Konfliktdateien bearbeiten, mit git add markieren, mit git commit abschließen.

git branch -d <name>: Branch löschen. git branch -D <name>: Nicht gemergten Branch zwangsweise löschen.

Remote Repository Operationen

git remote add origin <url>: Remote Repository hinzufügen. git remote -v: Remotes auflisten.

git push origin <branch>: Lokale Änderungen an Remote senden. git push -u origin main: Upstream Branch setzen.

git pull: Remote-Änderungen holen und mergen. git fetch: Remote-Änderungen holen (ohne Merge).

git push --force: Remote Branch zwangsweise aktualisieren (vorsichtig verwenden). git push --force-with-lease: Sichereres Force Push.

Branching-Strategien

Git Flow: main (Production), develop (Development), feature/* (neue Features), release/* (Release-Vorbereitung), hotfix/* (dringende Fixes).

GitHub Flow: main Branch + Feature Branches. Jeder Feature Branch wird via Pull Request in main gemergt. Einfach und effektiv.

Trunk-Based Development: Einzelner main Branch, kurzlebige Feature Branches (1-2 Tage). Kombiniert mit kontinuierlicher Integration (CI/CD).

Auswahlkriterien: Git Flow für große Projekte, GitHub Flow für kleine-mittlere Projekte, Trunk-Based Development für CI/CD-reife Teams.

Best Practices

Commit-Nachrichten: Imperative Stimmung verwenden ('Add feature' nicht 'Added feature'). Erste Zeile auf 50 Zeichen, Details auf 72 Zeichen begrenzen.

Atomic Commits: Jeder Commit sollte eine einzelne Änderung enthalten. Große Änderungen in kleine Commits aufteilen.

Branch-Benennung: Beschreibende Namen wie feature/user-authentication, bugfix/login-error, hotfix/security-patch verwenden.

.gitignore: Unnötige Dateien (node_modules, .env, build/) ignorieren. GitHub's gitignore-Vorlagen verwenden.

Pull Request: Pull Requests für Code Review verwenden. Jede Änderung sollte von mindestens einer Person überprüft werden.

Passende Werkzeuge

Schritt-für-Schritt-Anleitungen

Ihre Datenschutzwahl

Notwendige Cookies dienen Sicherheit und Sitzungen. Grundlegende Besuche werden gezählt; mit Ihrer Zustimmung aktivieren wir zusätzliche Nutzungsanalysen. Cookie-Richtlinie