Die Konferenz für Continuous Delivery und DevOps
Mannheim, Congress Center Rosengarten,
1.– 1. Januar 1970

// Size Does Matter – Große Repos in Git

Wenn ein Projekt stark wächst oder bereits groß ist, steht die Entscheidung an, ob es in viele kleine Repos aufgeteilt oder in ein großes Repo abgelegt werden soll. Das Arbeiten mit kleinen Repos ist normalerweise unproblematisch und gut beschrieben. Der Monorepo-Ansatz bietet allerdings auch Vorteile, so sind modulübergreifende Branches und Commits möglich. Dadurch werden globale Refactorings, beispielsweise gravierende Änderungen der API, einfach möglich.

Allerdings gibt es neue Herausforderungen, wenn ein Repo größer wird und viele Entwickler gleichzeitig daran arbeiten wollen. Viele und große Dateien blähen das Repository auf und machen das Arbeiten zäh. Viele Tags und Branches werden irgendwann sehr unübersichtlich.

Git bietet jede Menge Tools und Optionen, um hier zu unterstützen. Viele davon sind jedoch kaum bekannt. Wir geben einen Überblick und empfehlen Tools und Vorgehensweisen, mit denen Sie die Herausforderungen großer Repos angehen können.

Vorkenntnisse
* Der Vortrag ist an Teilnehmer gerichtet, die bereits einige Erfahrung mit Git gesammelt haben.

Lernziele
* Tools, Optionen und Vorgehensweisen kennenlernen, die beim Umgang mit großen Git-Repos helfen – zum Beispiel shallow clones, sparse checkouts, reference clones, lfs, fsmonitor-watchman, filter-branch und bfg.

// Referenten

René Preißel René Preißel

arbeitet als selbstständiger Softwarearchitekt, Entwickler und Trainer. Seine Schwerpunkte liegen im Bereich Softwarearchitektur, Java-Technologien und Konfigurationsmanagement.


Bjørn Stachmann Bjørn Stachmann

arbeitet als Softwarearchitekt bei OTTO im Projekt BRAIN daran mit, eine BI-Plattform zu schaffen, die es ermöglicht, OTTO zur Data-driven Company zu machen. Seine Schwerpunkte dabei sind Hadoop, insbesondere HBase, Java-Entwicklung und Git.