Was ist Git?
Git ist ein verteiltes Versionskontrollsystem (VCS), das Linus Torvalds 2005 für die Linux-Kernel-Entwicklung geschrieben hat. Im Gegensatz zu zentralen Systemen wie SVN hat jeder Entwickler eine vollständige Kopie der gesamten Projekt-Historie lokal — offline arbeiten, Merges ohne Server und wiederherstellbare Versionen sind dadurch Kerneigenschaften, keine Add-ons. Die Kernbegriffe: Ein Repository (Repo) ist das Projekt mit seiner gesamten Historie. Ein Commit ist eine gespeicherte Änderung mit Autor, Timestamp, Diff und Parent-Pointer — die kleinste atomare Einheit. Branches sind Zeiger auf Commits, die parallel existieren (feature/login, bugfix/hotfix-X, main). Merge und Rebase verbinden Branches, wobei Merge einen "Merge-Commit" erzeugt und Rebase die Historie linearisiert. Remotes (origin, fork) sind andere Kopien des Repos, typischerweise auf GitHub, GitLab, Bitbucket oder Azure DevOps gehostet. Der Standard-Team-Workflow: Feature-Branch von main anlegen → lokale Commits → Push auf Remote → Pull Request (PR) / Merge Request → Code-Review durch Team → Merge in main → CI-Pipeline deployt automatisch. Varianten sind Git Flow (explizite develop/release/hotfix Branches, klassisch für Release-Zyklen), Trunk-Based Development (kurzlebige Feature-Branches, Continuous Deployment) und GitHub Flow (minimal, ideal für Web-Apps). Git-Skills gehören heute zur Grundausstattung jeder professionellen Softwareentwicklung. Für nicht-technische Teammitglieder (Design, Content) sind grafische Clients wie GitHub Desktop, Sourcetree, Fork oder Tower der einfachste Einstieg. Die häufigsten Fallen: vergessene .gitignore (Secrets im Repo), Force-Push auf shared Branches (überschreibt Kollegen-Arbeit), zu große Commits ohne Kontext. Disziplin zahlt sich aus: saubere atomare Commits mit aussagekräftigen Messages sind die Grundlage für Debugging, Code-Review und Audits.
Wichtige Punkte
- Verteiltes System: jeder Clone enthält die komplette Historie — offline-fähig und ausfallsicher
- Atomare Commits statt Mega-Änderungen: jede logische Einheit einzeln committen macht Debugging und Review 10× leichter
- Branches sind billig: Feature-Branches pro Task, main bleibt immer deploy-fähig
- Hosting-Plattformen (GitHub, GitLab, Bitbucket) liefern PRs, Reviews, Issue-Tracking und CI obendrauf
- Commit-Messages in imperativer Form ("Add user auth" statt "Added"): Konvention aus dem Git-Projekt selbst
- Workflow-Varianten: Git Flow (Release-getrieben), Trunk-Based (Continuous Deployment), GitHub Flow (pragmatisch)
- .gitignore zwingend: Secrets, Build-Artefakte, node_modules und IDE-Files NIE committen
- Force-Push auf shared Branches ist tabu — überschreibt fremde Commits ohne Vorwarnung
- Grafische Clients (GitHub Desktop, Sourcetree, Fork) machen Git für nicht-CLI-Users bedienbar ohne Kommando-Überforderung
Praxisbeispiel
“Unser Team arbeitet in Feature-Branches von main; nach Code-Review durch zwei Reviewer merged die GitHub-Action automatisch und deployt per CI/CD auf Staging.”
Professionelle Hilfe zum Thema "Git"?
Das GoldenWing-Team bietet strategische Web- & App-Entwicklung-Leistungen für österreichische und internationale Kunden. Von der Erstberatung bis zur Umsetzung — mit messbaren Ergebnissen.