Von Gast (nicht überprüft) , 29 April 2026

Der architektonische Unterschied

Subversion ist zentralisiert; Git ist verteilt.

Was "verteilt" ermoglicht

  • Offline-Commits.
  • Lokales Experimentieren.
  • Disaster Recovery.
  • Multi-Master-Workflows.
  • Code von einem Vendor entkoppeln.

Was Zentralisierung ermoglicht

  • Einzelne Quelle der Wahrheit.
  • Per-Path-Zugriffskontrolle.
  • Sequentielle Revisionsnummern.
  • Locking.

Praktischer Vergleich

# Offline in Git
git commit -m "WIP"
git log
git diff HEAD~5
git checkout -b experiment

# Same operations in SVN, offline:
svn commit       # error: cannot connect to server
svn log          # error: cannot connect to server
svn diff -r 100   # error: cannot connect to server

Mobiles und Remote-Arbeiten

Die Dekade zwischen den Hauptzeiten von SVN und Git sah den Aufstieg von mobiler Entwicklung und globaler Remote-Arbeit.

Disaster Recovery

# Git: recover central repo from a clone
git clone --mirror /path/to/laptop/clone backup.git
cd backup.git
git remote add origin git@new-host:repo.git
git push --mirror origin

# SVN: requires server-side dumpfile
svnadmin dump /var/svn/repo > repo.dump

Vorbehalte mit verteilt

  • Verteilt erzeugt eine Koordinationsfrage.
  • Forks konnen still divergieren.
  • Auditing und Zugriffskontrolle benotigen explizite Infrastruktur.

Hybrid

Tools wie git-svn uberbrucken die beiden.