Wofür wird Git SCM verwendet?

Programmierung

Git löst ein Problem, das jeder kennt, der schon einmal an Dateien gearbeitet hat: Wer hat wann was geändert – und wie komme ich zu einer funktionierenden Vorversion zurück, wenn etwas kaputtgeht? Statt Ordner mit Namen wie projekt_final_v2_wirklich_final anzulegen, protokolliert Git jede Änderung sauber und macht sie umkehrbar. Nach diesem Artikel wissen Sie, wofür Git konkret eingesetzt wird, welche Befehle Sie für den Einstieg brauchen und wie Sie die häufigsten Stolperfallen umgehen.

Was „Git SCM“ eigentlich bedeutet

Die Abkürzung SCM steht für Source Code Management (teils auch Source Control Management) – also die Verwaltung von Quellcode und dessen Änderungsverlauf. „Git SCM“ ist keine eigene Software neben Git: Der Zusatz stammt schlicht von der offiziellen Projektseite git-scm.com, über die Git heruntergeladen und dokumentiert wird. Gemeint ist also immer dasselbe Werkzeug.

Git ist ein verteiltes Versionskontrollsystem (VCS). Entwickelt wurde es 2005 von Linus Torvalds, um den Linux-Kernel zu verwalten. „Verteilt“ heißt: Jede Kopie eines Projekts (jedes Repository) enthält die vollständige Historie – nicht nur der zentrale Server. Sie können deshalb offline committen, Branches anlegen und den kompletten Verlauf durchsuchen, ohne Netzverbindung.

Wichtig für das Verständnis: Git ist das Werkzeug, GitHub, GitLab und Bitbucket sind Plattformen, die Git-Repositories im Netz hosten und um Funktionen wie Pull Requests ergänzen. Man kann Git problemlos ohne diese Dienste nutzen. Mehr dazu unter Ist Git SCM dasselbe wie GitHub? und der Einordnung Ist Git ein SCM oder VCS?.

Wofür Git im Alltag verwendet wird

Git ist längst nicht mehr nur ein Programmierer-Werkzeug. Typische Einsatzzwecke:

  • Änderungen nachvollziehen und rückgängig machen. Jeder Commit ist ein benannter Speicherpunkt. Sie sehen, wer welche Zeile wann und warum geändert hat (git blame, git log), und springen bei Bedarf zu einem früheren Stand zurück.
  • Im Team ohne Chaos zusammenarbeiten. Mehrere Personen bearbeiten dieselben Dateien parallel. Git führt die Ergebnisse zusammen und meldet nur dort einen Konflikt, wo wirklich dieselbe Stelle unterschiedlich verändert wurde.
  • Neue Funktionen isoliert entwickeln. Über Branches probieren Sie Ideen aus, ohne den stabilen Hauptstand zu gefährden.
  • Als Backup und Deployment-Grundlage. Weil jede Kopie die volle Historie hat, ist ein Repository zugleich ein verteiltes Backup. CI/CD-Pipelines und viele Hosting-Systeme lösen ein Deployment automatisch aus, sobald Sie auf einen bestimmten Branch pushen.
  • Nicht nur Code. Server-Konfigurationen, Infrastruktur-as-Code (Terraform, Ansible), Dokumentation in Markdown oder auch Blogtexte werden häufig in Git verwaltet – überall dort, wo Textänderungen nachvollziehbar bleiben sollen.

Die wichtigsten Befehle für den Einstieg

Git wird auf der Kommandozeile bedient (grafische Oberflächen wie GitHub Desktop, Sourcetree oder die Git-Integration in VS Code setzen darauf auf). Der Mindestablauf sieht so aus:

# Einmalig pro Rechner: Identität hinterlegen
git config --global user.name "Vorname Nachname"
git config --global user.email "mail@example.com"

# Neues Repository in einem Projektordner starten
git init

# Oder ein bestehendes Projekt herunterladen
git clone https://github.com/nutzer/projekt.git

# Änderungen ansehen, vormerken und speichern
git status
git add .
git commit -m "Kontaktformular hinzugefügt"

# Mit einem Server abgleichen
git pull          # Änderungen holen und einarbeiten
git push          # eigene Commits hochladen

Der Ablauf addcommit ist zentral: git add legt Änderungen in die Staging-Area (den Vorbereitungsbereich), git commit schreibt sie dauerhaft in die Historie. Mit git log --oneline sehen Sie die Commits kompakt untereinander.

Mit Branches parallel arbeiten

Der eigentliche Mehrwert von Git liegt im Verzweigen. Der Standard-Branch heißt heute meist main (früher master).

git switch -c feature/login   # neuen Branch anlegen und hineinwechseln
# ... Änderungen, add, commit ...
git switch main               # zurück auf den Hauptstand
git merge feature/login       # Feature einarbeiten

git switch und git restore sind die moderneren Befehle (seit Git 2.23) und trennen sauber, was das ältere, überladene git checkout in einem Kommando vermischte – beide Varianten funktionieren aber weiter. Zum Abgleich mit dem Server gehört git fetch, das entfernte Änderungen herunterlädt, ohne sie sofort einzuarbeiten; die Details dazu stehen unter Was macht git fetch?. Wenn ein Branch erledigt ist, entfernen Sie ihn lokal und remote – wie genau, zeigt Wie lösche ich einen Git-Branch lokal und remote?.

Typische Fehler und wie Sie sie lösen

„fatal: not a git repository“ – Sie sind nicht in einem Git-Ordner. Prüfen Sie mit pwd, ob Sie im richtigen Verzeichnis stehen, oder starten Sie mit git init ein neues Repository.

Merge-Konflikt. Git meldet CONFLICT und markiert die betroffenen Stellen in der Datei mit <<<<<<<, ======= und >>>>>>>. Öffnen Sie die Datei, behalten Sie die gewünschte Version, entfernen Sie die Markierungen und schließen Sie mit git add <datei> und git commit ab. Ein abgebrochener Merge lässt sich mit git merge --abort komplett zurücknehmen.

„detached HEAD“. Sie haben einen einzelnen Commit statt einen Branch ausgecheckt. Kein Grund zur Panik: Mit git switch -c rettung sichern Sie Ihren Stand in einem neuen Branch, oder mit git switch main kehren Sie zum Hauptstand zurück.

Commit mit falscher Identität. Haben Sie user.name/user.email vergessen zu setzen, tauchen Commits unter einem falschen Namen auf. Korrigieren Sie die Konfiguration und schreiben Sie den letzten Commit mit git commit --amend --reset-author um.

Versehentliches Überschreiben durch Force Push. git push --force kann Commits von Kollegen auf dem Server löschen. Nutzen Sie stattdessen das sicherere git push --force-with-lease, das nur überschreibt, wenn niemand anderes zwischenzeitlich gepusht hat. Hintergründe dazu unter Was macht ein Git Force Push?.

FAQ

Kostet Git etwas? Nein. Git ist freie, quelloffene Software unter der GPLv2-Lizenz und für Windows, macOS und Linux kostenlos über git-scm.com erhältlich. Kosten entstehen höchstens bei kostenpflichtigen Tarifen von Hosting-Plattformen wie GitHub oder GitLab – nicht bei Git selbst.

Brauche ich GitHub, um Git zu nutzen? Nein. Git funktioniert vollständig lokal. Eine Plattform wie GitHub brauchen Sie erst, wenn Sie ein Repository zentral teilen, öffentlich bereitstellen oder mit Pull Requests zusammenarbeiten wollen. Alternativ genügt ein eigener Server per SSH.

Ist Git für Einzelpersonen sinnvoll oder nur für Teams? Auch allein profitieren Sie von der lückenlosen Historie, vom gefahrlosen Ausprobieren in Branches und davon, dass ein geklontes Repository zugleich ein Backup ist. Der Einstieg lohnt sich bereits beim ersten kleinen Projekt.