Monorepo vs Multirepo 2026: Vergleich und Entscheidung | POLPROG Zum Inhalt springen

Monorepo vs Multirepo 2026: wann welcher Ansatz sinnvoll ist

Monorepo und Multirepo lösen dasselbe organisatorische Problem auf unterschiedliche Weise. Ein Monorepo speichert mehrere Anwendungen, Bibliotheken oder Services in einem Repository, während Multirepo sie auf getrennte Repositories verteilt. 2026 geht es nicht mehr nur um Repository-Größe. Moderne Werkzeuge können CI auf betroffene Projekte begrenzen, Ergebnisse cachen, Architekturgrenzen erzwingen und sehr große Git-Bäume teilweise auschecken. Entscheidend ist daher nicht, welches Modell allgemein besser ist, sondern welche Koordinationskosten eine Organisation tragen will und wo gemeinsamer Kontext wichtiger ist als Isolation.

Veröffentlicht Verfasst von Lesezeit 8 Min. Lesezeit

Monorepo und Multirepo lösen dasselbe organisatorische Problem auf unterschiedliche Weise. Ein Monorepo speichert mehrere Anwendungen, Bibliotheken oder Services in einem Repository, während Multirepo sie auf getrennte Repositories verteilt. 2026 geht es nicht mehr nur um Repository-Größe. Moderne Werkzeuge können CI auf betroffene Projekte begrenzen, Ergebnisse cachen, Architekturgrenzen erzwingen und sehr große Git-Bäume teilweise auschecken. Entscheidend ist daher nicht, welches Modell allgemein besser ist, sondern welche Koordinationskosten eine Organisation tragen will und wo gemeinsamer Kontext wichtiger ist als Isolation.

Auf dieser Seite
  1. 1Monorepo und Multirepo: klare Definitionen
  2. 2Was Google Research zeigt: beide Modelle haben echte Vorteile
  3. 3Projektübergreifende Änderungen: der klarste Monorepo-Vorteil
  4. 4Abhängigkeiten und Versionen: Zentralisierung gegen Unabhängigkeit
  5. 5CI im Monorepo: alles bei jedem Commit neu zu bauen ist der falsche Ansatz
  6. 6Multirepo-CI: kleinerer Scope bedeutet nicht keine Koordination
  7. 7Architekturgrenzen: ein Monorepo ohne Regeln wird schnell problematisch
  8. 8Zugriff und Sicherheit: Multirepo hat oft das einfachere Modell
  9. 9Releases und Deployment: ein Repository bedeutet nicht ein Release
  10. 10Repository-Größe und Git: sehr große Monorepos brauchen gezielte Werkzeuge
  11. 11Werkzeuge 2026 senken die Kosten beider Ansätze
  12. 12AI Coding Agents werden 2026 zu einem neuen Entscheidungskriterium
  13. 13Wann Monorepo sinnvoll ist
  14. 14Wann Multirepo sinnvoll ist
  15. 15Hybridmodell und praktische Entscheidung 2026

Monorepo und Multirepo: klare Definitionen

KriteriumMonorepoMultirepo
Projektübergreifende ÄnderungenEin Commit oder PR kann mehrere Projekte umfassenMeist mehrere Repositories, Versionen und PRs
AbhängigkeitenLeichtere Zentralisierung und gemeinsame RegelnMehr Versionsunabhängigkeit
CIBraucht graphbasierte Auswahl, Cache und SkalierungKleinerer natürlicher Scope pro Pipeline
ZugriffPfad-Ownership über Regeln und ReviewsNatürliche Isolation auf Repository-Ebene
ToolingMehr gemeinsame StandardsMehr Freiheit pro Projekt
ReleasesKönnen unabhängig sein, brauchen OrchestrierungNatürlich getrennte Pipelines

Ein Monorepo ist ein Repository mit mehreren logisch getrennten Projekten wie Anwendungen, Services, Bibliotheken oder Werkzeugen. Multirepo, auch Polyrepo genannt, hält diese Elemente in getrennten Repositories. Repository-Grenzen sind Grenzen der Quellcodeverwaltung, nicht automatisch Deployment-Grenzen. [1][13][15]

Ein Monorepo kann daher viele unabhängig deployte Services enthalten, während ein Multirepo-Setup Module eines einzigen großen Systems enthalten kann. Repository-Strategie mit Monolith oder Microservices gleichzusetzen führt zu falschen Architekturentscheidungen.

Was Google Research zeigt: beide Modelle haben echte Vorteile

Google Research fand bei Ingenieuren mit Erfahrung in beiden Modellen die Sichtbarkeit der gesamten Codebasis als wichtigen Monorepo-Vorteil. Sie erleichtert das Finden wiederverwendbarer APIs, vorhandener Beispiele und das Aktualisieren abhängigen Codes bei API-Migrationen. Auch zentrales Dependency Management wurde positiv bewertet. [1]

Dasselbe Paper nennt Vorteile von Multirepo: mehr Freiheit bei Toolchains, stärkere Zugriffskontrollgrenzen und höhere Stabilität zwischen Projekten. Zudem hängt die Erfahrung stark von der Qualität der umgebenden Werkzeuge ab. [1]

Projektübergreifende Änderungen: der klarste Monorepo-Vorteil

Wenn eine Schnittstellenänderung Backend, Frontend, Bibliotheken und Tests gleichzeitig betrifft, kann ein Monorepo die gesamte Migration in einem Commit oder Pull Request enthalten. Google nennt das Aktualisieren abhängigen Codes während API-Migrationen als wichtigen Nutzen eines gemeinsamen Repositorys. [1][2]

In Multirepo wird dieselbe Änderung oft zu einer Abfolge aus Producer-Änderung, Versionierung, Consumer-Updates und mehreren Pull Requests. Automatisierung kann Reibung reduzieren, aber Repository-Grenzen bleiben Prozessgrenzen.

Abhängigkeiten und Versionen: Zentralisierung gegen Unabhängigkeit

Monorepos erleichtern gemeinsame Dependency-Versionen und direkte Referenzen zwischen lokalen Paketen. Yarn Workspaces verbindet Pakete innerhalb eines Projekts, während Constraints Versions- oder `package.json`-Regeln workspaceweit erzwingen können. [13][14]

Multirepo gibt jedem Projekt mehr Freiheit bei Versionen und Upgrade-Zeitpunkten, kann aber zu Drift bei gemeinsamen Bibliotheken führen. Das funktioniert gut, wenn Verträge stabil sind und Artefakte kontrolliert über Registries verteilt werden.

CI im Monorepo: alles bei jedem Commit neu zu bauen ist der falsche Ansatz

Große Monorepos sollten nicht nach jeder Änderung alle Tests und Builds ausführen. Nx `affected` nutzt Git-Historie und Projektgraph, um die kleinste betroffene Projektmenge zu bestimmen und unabhängige Arbeit auszulassen. [4]

Remote Caching teilt bereits berechnete Ergebnisse zwischen Entwicklerrechnern und CI, während verteilte Ausführung übrige Aufgaben auf mehrere Maschinen verteilt. Bazel löst dieselbe Problemklasse mit Remote Execution und Cache für Build- und Testaktionen. [5][7][8]

Multirepo-CI: kleinerer Scope bedeutet nicht keine Koordination

In Multirepo sieht ein einzelner Pipeline-Lauf naturgemäß weniger Code. Dadurch lassen sich Build und Tests leichter auf ein Projekt begrenzen. Das ist ein echter Vorteil bei schwach gekoppelten Services mit klarer Ownership.

Koordinationskosten entstehen bei Abhängigkeiten über Repository-Grenzen. Eine Änderung an gemeinsamer Bibliothek oder Vertrag kann Veröffentlichung, mehrere Repo-Updates, Versionskompatibilität und Integrationstests erfordern. Google nennt Stabilität als Multirepo-Vorteil, aber Sichtbarkeit und Migrationen als Monorepo-Stärken. [1]

Architekturgrenzen: ein Monorepo ohne Regeln wird schnell problematisch

Ein gemeinsames Repository darf nicht unbegrenzte Imports zwischen allen Projekten bedeuten. Nx kann Modulgrenzen über Projekttags und Dependency Constraints deklarativ erzwingen und damit unerwünschte Imports sowie ungeplante Kopplung blockieren. [6]

In Multirepo existieren manche Grenzen physisch durch getrennte Repositories. Das ersetzt jedoch keine Architektur: starke Kopplung kann weiterhin über APIs, Datenbanken, Queues oder gemeinsame Bibliotheken entstehen.

Zugriff und Sicherheit: Multirepo hat oft das einfachere Modell

GitHub vergibt Rollen und Berechtigungen auf Repository-Ebene. Separate Repositories passen deshalb natürlich zu Situationen, in denen Teams oder Auftragnehmer unterschiedliche Codebereiche sehen sollen. Die Rollen reichen von Read bis Admin. [11]

Im Monorepo können CODEOWNERS und Rulesets Reviews für bestimmte Pfade und Teams erzwingen, sind aber Ownership- und Freigabemechanismen. Wenn harte Trennung der Code-Sichtbarkeit nötig ist, passt ein separates privates Repository meist direkter zum Zugriffsmodell. [10][12]

Releases und Deployment: ein Repository bedeutet nicht ein Release

Yarn beschreibt Workspaces als mehrere Pakete in einem Projekt und weist ausdrücklich darauf hin, dass sie unabhängig deployt werden können. Gradle Multi-Project Builds teilen Systeme ebenfalls in logische Subprojekte mit eigenen Abhängigkeiten und Aufgaben. [13][15]

Ein Monorepo kann daher getrennte Pipelines und Versionen für Anwendungen, Services und Bibliotheken haben. Multirepo liefert diese Trennung natürlicher, braucht aber mehr Automatisierung, wenn mehrere Releases als eine Produktänderung koordiniert werden müssen.

Repository-Größe und Git: sehr große Monorepos brauchen gezielte Werkzeuge

Google beschrieb ein internes Monorepo mit Milliarden Codezeilen, betonte aber gleichzeitig die dafür gebaute Infrastruktur. Das Beispiel zeigt, dass Monorepos sehr weit skalieren können, nicht dass diese Skalierung kostenlos oder für jede Firma sinnvoll ist. [2]

Aktuelles Git bietet `sparse-checkout`, um den Working Tree auf einen Teil der verfolgten Dateien zu begrenzen. Das hilft bei großen Repositories, wobei die Git-Dokumentation das Verhalten weiterhin als experimentell und veränderlich bezeichnet. [9]

Werkzeuge 2026 senken die Kosten beider Ansätze

Im JavaScript-Ökosystem gibt es native Workspaces sowie ausgereifte Projektgraphen, Caching und affected-only CI. Im JVM-Ökosystem unterstützt Gradle Multi-Project Builds, während Composite Builds unabhängige Builds zusammenführen und gemeinsame Entwicklung ohne vorherige Artefaktveröffentlichung erlauben. [13][15][16]

Das ist auch für Multirepo wichtig: getrennte Repositories müssen kein vollständig getrenntes lokales Arbeiten bedeuten. Composite Builds zeigen, wie unabhängige Build-Grenzen erhalten und trotzdem gemeinsam getestet werden können. [16]

AI Coding Agents werden 2026 zu einem neuen Entscheidungskriterium

Nx argumentiert in seiner Dokumentation von 2026, dass Coding Agents von vollständigem Monorepo-Kontext, Projektgraph, schneller affected-only Verifikation und erzwungenen Grenzen profitieren. Da Nx ein Monorepo-Tooling-Anbieter ist, ist dies eine Produktperspektive und kein unabhängiger Beweis. [3]

Gemeinsamer Kontext kann einem Agenten praktisch helfen, einen Vertrag und seine Consumer in einer Aufgabe zu ändern. Multirepo kann dagegen den verfügbaren Code- und Berechtigungsumfang einer Agentensitzung stärker begrenzen. Das ist ein zusätzliches Kriterium, kein alleiniger Entscheidungsgrund.

Wann Monorepo sinnvoll ist

Monorepo passt besonders gut, wenn Anwendungen und Bibliotheken häufig gemeinsam geändert werden, viele Teams Komponenten teilen und atomare Refactorings sowie ein sichtbarer Abhängigkeitsgraph wichtig sind. Google Research unterstützt diese Vorteile durch Sichtbarkeit, API-Discovery, Nutzungsbeispiele, Migrationen und zentrale Abhängigkeiten. [1]

Voraussetzung sind Investitionen in Modulgrenzen, selektives CI, Caching, Code Ownership und Automatisierung. Ohne diese Kontrollen verschiebt ein wachsendes Repository die Komplexität nur in eine riesige Pipeline. [4][5][6]

  • Häufige Änderungen über Frontend, Backend und Bibliotheken hinweg.
  • Viel gemeinsam genutzter Code und gemeinsame Engineering-Standards.
  • Bedarf an atomaren Refactorings.
  • Einheitliche oder kompatible Toolchain.
  • Bereitschaft für Dependency Graph, Cache und selektives CI.
  • Keine harte Anforderung, internen Teams den größten Teil des Codes zu verbergen.

Wann Multirepo sinnvoll ist

Multirepo ist stark, wenn Domains klare Grenzen haben, Teams unabhängige Toolchains, Lebenszyklen und Berechtigungen brauchen und projektübergreifende Änderungen selten sind. Google Research nennt Tool-Flexibilität, Zugriffskontrolle und Stabilität als relevante Vorteile. [1]

Ein weiteres Signal sind eingeschränkte Code-Sichtbarkeit, separate Compliance-Anforderungen oder unterschiedliche Auftragnehmergruppen. GitHubs Repository-Rollen unterstützen diese Trennung direkt. [11]

  • Starke Teamautonomie und getrennte Lebenszyklen.
  • Unterschiedliche Sprachen, Toolchains und Build-Prozesse.
  • Strikte Zugriffs- oder Compliance-Anforderungen.
  • Seltene Änderungen über viele Projekte hinweg.
  • Stabile Verträge und reifes Versionsmanagement.
  • Unabhängige Pipelines sind wichtiger als ein gemeinsamer Plattformgraph.

Hybridmodell und praktische Entscheidung 2026

SituationStandardrichtungWarum
Häufige Änderungen über mehrere Apps und BibliothekenMonorepoAtomare Refactorings und gemeinsamer Abhängigkeitsgraph
Teams dürfen nicht den gesamten Code sehenMultirepoRepository-Berechtigungen vereinfachen Isolation
Teams brauchen verschiedene Toolchains und LebenszyklenMultirepoWeniger zentrale Standardisierung
Stark geteilte Plattform und BibliothekenMonorepoBessere Sichtbarkeit und zentrale Abhängigkeiten
Viele kleine ServicesKommt darauf anHäufigkeit gemeinsamer Änderungen ist wichtiger als Service-Anzahl
Gemischte Domain-, Zugriffs- und TechnologieanforderungenHybridDomain-Monorepos plus ausgewählte separate Repositories

Die Wahl muss nicht binär sein. Eine Organisation kann Domain-Monorepos für eng gekoppelte Produkte, separate Repositories für sicherheitskritische oder kundenspezifische Komponenten und gemeinsame Pakete über Registries kombinieren. Gradle Composite Builds zeigen sogar technisch, wie unabhängige Builds gemeinsam entwickelt werden können. [16]

Vor einer Migration sollten Häufigkeit projektübergreifender Änderungen, Anzahl gemeinsamer Abhängigkeiten, CI-Dauer, Zahl der Repositories pro typischem Feature, Zugriffsanforderungen und Release-Koordinationskosten gemessen werden. Diese Daten sollten die Repository-Topologie bestimmen.

Es gibt keinen universellen Sieger. Monorepo ist am stärksten, wenn Produkte und Bibliotheken häufig gemeinsam geändert werden, Teams eine Plattform teilen und die Organisation in Abhängigkeitsgraphen, Modulgrenzen und effizientes CI investiert. Multirepo ist stärker, wenn Teamautonomie, unterschiedliche Toolchains, getrennte Lebenszyklen und harte Zugriffstrennung wichtiger sind. 2026 sollte die Entscheidung aus der Häufigkeit projektübergreifender Änderungen, Ownership, Sicherheitsanforderungen, Release-Koordination und CI-Kosten entstehen, nicht aus einem Trend.

Monorepo Multirepo Software Architecture Git CI/CD Nx Bazel Workspaces Developer Experience AI Coding Agents

Häufig gestellte Fragen

Bedeutet Monorepo automatisch Monolith?

Nein. Monorepo beschreibt die Ablage des Codes. Services in einem Repository können unabhängig gebaut, versioniert und deployt werden. [13][15]

Bedeutet Multirepo automatisch Microservices?

Nein. Separate Repositories können Module eines großen Systems enthalten, und Microservices können in einem Monorepo liegen.

Was ist der größte Monorepo-Vorteil?

Meist gemeinsame Code-Sichtbarkeit und einfachere atomare Änderungen über Projekte hinweg. Google nennt zusätzlich API-Discovery, Beispiele und zentrale Abhängigkeiten. [1]

Was ist der größte Multirepo-Vorteil?

Stärkere organisatorische Grenzen: unabhängiges Tooling, Repository-Zugriff und mehr Stabilität zwischen Projekten. [1][11]

Ist Monorepo-CI immer langsamer?

Nein. Nx kann nur betroffene Aufgaben ausführen, Remote Cache nutzen und Arbeit verteilen. [4][5][7]

Erzwingt ein Monorepo eine gemeinsame Version?

Nein. Workspaces und Build-Systeme können logisch getrennte Projekte und unabhängige Releases verwalten. [13][15]

Wie erzwingt man Grenzen im Monorepo?

Über Architekturregeln für Abhängigkeiten sowie CODEOWNERS und Rulesets für Ownership und Reviews. [6][10][12]

Kann Git ein großes Monorepo handhaben?

Ja, aber Tooling wird mit der Größe wichtiger. Git bietet unter anderem Sparse Checkout. [2][9]

Bevorzugen AI Coding Agents Monorepos?

Gemeinsamer Kontext kann helfen und Nx nennt dies als Vorteil, aber es ist kein unabhängiger Beweis. Multirepo kann den Agentenzugriff stärker begrenzen. [3]

Kann man beide Modelle kombinieren?

Ja. Domain-Monorepos können neben separaten Repositories existieren. Gradle Composite Builds erlauben zudem gemeinsame Entwicklung unabhängiger Builds. [16]

Wann sollte man nicht zu Monorepo migrieren?

Wenn projektübergreifende Änderungen kein Hauptproblem sind und starke Isolation, unterschiedliche Toolchains sowie wenig geteilter Code vorliegen.

Wann sollte man ein Monorepo nicht aufteilen?

Wenn typische Produktänderungen viele Anwendungen und Bibliotheken betreffen und die Trennung hauptsächlich Versions- und PR-Koordination hinzufügen würde. [1]

Quellen und Referenzen

  1. Google Research, Advantages and Disadvantages of a Monolithic Codebase12345678910
  2. Google Research, Why Google Stores Billions of Lines of Code in a Single Repository123
  3. Nx, What is a Monorepo?12
  4. Nx, Run Only Tasks Affected by a PR123
  5. Nx, Remote caching123
  6. Nx, Enforce Module Boundaries123
  7. Nx, Parallelization and distribution12
  8. Bazel, Remote Execution Overview
  9. Git, git-sparse-checkout documentation12
  10. GitHub Docs, About code owners12
  11. GitHub Docs, Repository roles for an organization123
  12. GitHub Docs, Available rules for rulesets12
  13. Yarn, Workspaces123456
  14. Yarn, Constraints
  15. Gradle, Multi-Project Builds12345
  16. Gradle, Structuring and Organizing Gradle Projects1234

War das hilfreich?

Neue Artikel per E-Mail erhalten

Eine kurze E-Mail pro neuem Wissens-Artikel. Kein Spam, Abmeldung mit einem Klick.

Wir nutzen Ihre E-Mail nur, um neue Artikel zu versenden. Keine Weitergabe an Dritte.

Zurück zu Wissen