[{"data":1,"prerenderedAt":702},["ShallowReactive",2],{"/de-de/blog/exact-code-search-find-code-faster-across-repositories/":3,"navigation-de-de":32,"banner-de-de":452,"footer-de-de":465,"Dmitry Gruzd":674,"next-steps-de-de":687},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"config":22,"_id":25,"_type":26,"title":27,"_source":28,"_file":29,"_stem":30,"_extension":31},"/de-de/blog/exact-code-search-find-code-faster-across-repositories","blog",false,"",{"noIndex":6,"title":9,"description":10,"ogTitle":9,"ogDescription":10},"Exact Code Search: Code blitzschnell in Repositories finden","So findet diese neue GitLab-Funktion exakte Treffer, nutzt Regex-Muster und zeigt kontextbezogene Ergebnisse in Terabyte-großen Codebasen an.",{"title":12,"description":10,"authors":13,"heroImage":15,"date":16,"body":17,"category":18,"tags":19},"Exact Code Search: So findet man Code blitzschnell über mehrere Repositories hinweg",[14],"Dmitry Gruzd","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749675154/Blog/Hero%20Images/blog-image-template-1800x945__8_.png","2025-06-25","**Kurz gesagt:** Was wäre, wenn du jede Codezeile in 48 TB an Repositories\nin Millisekunden finden könntest? GitLabs neue [Exact Code\nSearch](https://docs.gitlab.com/ee/user/search/exact_code_search.html) macht\ngenau das möglich – mit präzisen Treffern, leistungsstarker\nRegex-Unterstützung und kontextbezogenen mehrzeiligen Ergebnissen, die die\nArbeit mit großen Codebasen revolutionieren.\n\n\n## Warum traditionelle Code-Suche herausfordernd ist\n\n\nJeder, der mit Code arbeitet, kennt die Frustration bei der Suche über Repositories hinweg. Egal ob du als Entwickler(in) einen Fehler debuggst, als DevOps-Ingenieur(in) Konfigurationen untersuchst, als Sicherheitsanalyst(in) nach Schwachstellen suchst, als technische(r) Redakteur(in) Dokumentationen aktualisierst oder als Manager(in) Implementierungen überprüfst – du weißt genau, was du brauchst, aber herkömmliche Suchwerkzeuge lassen dich oft im Stich.\n\n\nDiese konventionellen Tools liefern Dutzende von False Positives, bieten nicht den nötigen Kontext zum Verständnis der Ergebnisse und werden mit wachsenden Codebasen immer langsamer. Das Ergebnis? Wertvolle Zeit wird mit der Suche nach der Nadel im Heuhaufen verschwendet, anstatt Software zu entwickeln, zu sichern oder zu verbessern.\n\n\nGitLabs Code-Suchfunktion basierte bisher auf Elasticsearch oder OpenSearch. Diese eignen sich zwar hervorragend für die Suche in Issues, Merge Requests, Kommentaren und anderen Daten mit natürlicher Sprache, wurden aber nicht speziell für Code entwickelt. Nach der [Evaluierung zahlreicher Optionen](https://gitlab.com/groups/gitlab-org/-/epics/7404) haben wir eine bessere Lösung entwickelt.\n\n\n## Wir stellen vor: Exact Code Search – drei bahnbrechende Funktionen\n\n\nMit GitLabs **[Exact Code Search](https://docs.gitlab.com/ee/user/search/exact_code_search.html)**, derzeit in der Beta-Phase und angetrieben von [Zoekt](https://github.com/sourcegraph/zoekt) (ausgesprochen \"sukt\", niederländisch für \"sucht\"). Zoekt ist eine Open-Source-Code-Suchmaschine, die ursprünglich von Google entwickelt und jetzt von Sourcegraph gepflegt wird – speziell konzipiert für schnelle, präzise Code-Suche im großen Maßstab. Wir haben sie mit GitLab-spezifischen Integrationen, Verbesserungen für Unternehmensmaßstäbe und nahtloser Integration des Berechtigungssystems erweitert.\n\n\nDiese Funktion revolutioniert, wie du Code findest und verstehst, mit drei Hauptfunktionen:\n\n\n**1. Exact Match-Modus: Null False Positives**\n\n\nIm **Exact Match-Modus** liefert die Suchmaschine nur Ergebnisse, die exakt deiner Suchanfrage entsprechen, und eliminiert False Positives. Diese Präzision ist unbezahlbar beim:\n\n\n* Suchen nach spezifischen Fehlermeldungen\n\n* Finden bestimmter Funktionssignaturen\n\n* Aufspüren von Instanzen spezifischer Variablennamen\n\n\n**2. Regular Expression-Modus: Leistungsstarkes Pattern Matching**\n\n\nFür komplexe Suchanforderungen ermöglicht der Regular Expression-Modus die Erstellung ausgefeilter Suchmuster:\n\n\n* Finde Funktionen, die bestimmten Namensmustern folgen\n\n* Lokalisiere Variablen mit bestimmten Einschränkungen\n\n* Identifiziere potenzielle Sicherheitslücken mittels Pattern Matching\n\n\n**3. Mehrzeilige Treffer: Code im Kontext sehen**\n\n\n![Exact Code Search](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750704179/ttjuilkt3v7gtyywnchx.png)\n\n\nStatt nur eine einzelne Zeile mit deinem Suchbegriff zu sehen, erhältst du den umgebenden Kontext, der für das Verständnis des Codes entscheidend ist. Das eliminiert die Notwendigkeit, für grundlegendes Verständnis in Dateien zu klicken, und beschleunigt deinen Workflow erheblich.\n\n\n## Von Funktionen zu Workflows: Anwendungsfälle und Auswirkungen aus der Praxis\n\n\nSchauen wir uns an, wie diese Funktionen zu echten Produktivitätssteigerungen in alltäglichen Entwicklungsszenarien führen:\n\n\n### Debugging: Von der Fehlermeldung zur Ursache in Sekunden\n\n\nVor Exact Code Search:\n\nEine Fehlermeldung kopieren, suchen, durch Dutzende von Teiltreffern in Kommentaren und Dokumentation waten, durch mehrere Dateien klicken und schließlich den tatsächlichen Code finden.\n\n\nMit Exact Code Search:\n\n\n1. Die exakte Fehlermeldung kopieren\n\n2. Sie in Exact Code Search im Exact Match-Modus einfügen\n\n3. Sofort die präzise Stelle finden, wo der Fehler ausgelöst wird, mit umgebendem Kontext\n\n\n**Auswirkung:** Reduziere die Debugging-Zeit von Minuten auf Sekunden und eliminiere die Frustration durch False Positives.\n\n\n### Code-Exploration: Unbekannte Codebasen schnell meistern\n\n\nVor Exact Code Search:\n\nDurch Verzeichnisse browsen, fundierte Vermutungen über Dateispeicherorte anstellen, Dutzende von Dateien öffnen und langsam eine mentale Karte der Codebasis aufbauen.\n\n\nMit Exact Code Search:\n\n\n* Nach Schlüsselmethoden oder -klassen im Exact Match-Modus suchen\n\n* Mehrzeilige Treffer überprüfen, um Implementierungsdetails zu verstehen\n\n* Den Regular Expression-Modus nutzen, um ähnliche Muster in der Codebasis zu finden\n\n\n**Auswirkung:** Baue eine mentale Karte der Code-Struktur in Minuten statt Stunden auf und beschleunige Onboarding und teamübergreifende Zusammenarbeit dramatisch.\n\n\n### Refactoring mit Zuversicht\n\n\nVor Exact Code Search:\n\nVersuchen, alle Instanzen einer Methode zu finden, einige Vorkommen übersehen und durch unvollständiges Refactoring Fehler einführen.\n\n\nMit Exact Code Search:\n\n\n* Den Exact Match-Modus nutzen, um alle Vorkommen von Methoden oder Variablen zu finden\n\n* Kontext überprüfen, um Verwendungsmuster zu verstehen\n\n* Dein Refactoring mit vollständigen Informationen über die Auswirkungen planen\n\n\n**Auswirkung:** Eliminiere die \"übersehene Instanz\"-Fehler, die Refactoring-Bemühungen oft plagen, verbessere die Code-Qualität und reduziere Nacharbeit.\n\n\n### Sicherheitsaudits: Verwundbare Muster finden\n\n\nSicherheitsteams können:\n\n\n* Regex-Muster erstellen, die bekanntem verwundbarem Code entsprechen\n\n* Über alle Repositories in einem Namespace suchen\n\n* Schnell potenzielle Sicherheitsprobleme mit Kontext identifizieren, der bei der Risikobewertung hilft\n\n\n**Auswirkung:** Verwandle Sicherheitsaudits von manuellen, fehleranfälligen Prozessen in systematische, umfassende Überprüfungen.\n\n\n### Repository-übergreifende Einblicke\n\n\nSuche über deinen gesamten Namespace oder deine Instanz, um:\n\n\n* Ähnliche Implementierungen in verschiedenen Projekten zu identifizieren\n\n* Möglichkeiten für gemeinsame Bibliotheken oder Standardisierung zu entdecken\n\n\n**Auswirkung:** Baue Silos zwischen Projekten ab und identifiziere Möglichkeiten für Code-Wiederverwendung und Standardisierung.\n\n\n## Die technische Grundlage: Wie Zoekt Geschwindigkeit und Präzision liefert\n\n\nBevor wir in unsere Skalierungserfolge eintauchen, lass uns erkunden, was Zoekt grundlegend von traditionellen Suchmaschinen unterscheidet – und warum es exakte Treffer so unglaublich schnell finden kann.\n\n\n### Positionale Trigramme: Das Geheimnis blitzschneller exakter Treffer\n\n\nZoekts Geschwindigkeit kommt von der Verwendung **positionaler Trigramme** – einer Technik, die jede Sequenz von drei Zeichen zusammen mit ihren exakten Positionen in Dateien indexiert. Dieser Ansatz löst einen der größten Schmerzpunkte, die Entwickler(innen) mit Elasticsearch-basierter Code-Suche hatten: False Positives.\n\n\nSo funktioniert es:\n\n\n**Traditionelle Volltextsuchmaschinen** wie Elasticsearch tokenisieren Code in Wörter und verlieren Positionsinformationen. Wenn du nach `getUserId()` suchst, könnten sie Ergebnisse liefern, die **user**, **get** und **Id** über eine Datei verteilt enthalten – was zu diesen frustrierenden False Positives für GitLab-Nutzer(innen) führt.\n\n\n**Zoekts positionale Trigramme** behalten exakte Zeichensequenzen und ihre Positionen bei. Wenn du nach `getUserId()` suchst, sucht Zoekt nach den exakten Trigrammen wie **get**, **etU**, **tUs**, **Use**, **ser**, **erI**, **rId**, **Id(**, **d()**, alle in der korrekten Reihenfolge und Position. Das stellt sicher, dass nur exakte Treffer zurückgegeben werden.\n\n\nDas Ergebnis? Suchanfragen, die zuvor Hunderte irrelevanter Ergebnisse lieferten, liefern jetzt nur noch die präzisen Treffer, nach denen du suchst. Das war [eine unserer meistgewünschten Funktionen](https://gitlab.com/gitlab-org/gitlab/-/issues/325234) aus gutem Grund – Entwickler(innen) verloren erhebliche Zeit beim Durchsuchen von False Positives.\n\n\n### Regular Expression-Performance im großen Maßstab\n\n\nZoekt glänzt bei exakten Treffern und ist für Regular Expression-Suchen optimiert. Die Engine nutzt ausgefeilte Algorithmen, um Regex-Muster wenn möglich in effiziente Trigramm-Abfragen umzuwandeln und behält die Geschwindigkeit selbst bei komplexen Mustern über Terabytes von Code bei.\n\n\n## Entwickelt für Unternehmensmaßstäbe\n\n\nExact Code Search ist leistungsstark und für massive Skalierung mit beeindruckender Performance gebaut. Das ist nicht nur eine neue UI-Funktion – sie wird von einer komplett neu konzipierten Backend-Architektur angetrieben.\n\n\n### Terabytes von Code mit Leichtigkeit bewältigen\n\n\nAllein auf GitLab.com indexiert und durchsucht unsere Exact Code Search-Infrastruktur über **48 TB** an Code-Daten bei gleichzeitig blitzschnellen Antwortzeiten. Diese Größenordnung repräsentiert Millionen von Repositories über Tausende von Namespaces, alle innerhalb von Millisekunden durchsuchbar. Um das in Perspektive zu setzen: Diese Größenordnung repräsentiert mehr Code als die gesamten Linux-Kernel-, Android- und Chromium-Projekte zusammen. Dennoch kann Exact Code Search eine spezifische Zeile in dieser massiven Codebasis in Millisekunden finden.\n\n\n### Selbstregistrierende Node-Architektur\n\n\nUnsere innovative Implementierung bietet:\n\n\n* **Automatische Node-Registrierung:** Zoekt-Nodes registrieren sich selbst bei GitLab\n\n* **Dynamische Shard-Zuweisung:** Das System weist Namespaces automatisch Nodes zu\n\n* **Gesundheitsüberwachung:** Nodes, die sich nicht melden, werden automatisch als offline markiert\n\n\nDiese selbstkonfigurierende Architektur vereinfacht die Skalierung dramatisch. Wenn mehr Kapazität benötigt wird, können Administratoren einfach weitere Nodes hinzufügen, ohne komplexe Neukonfiguration.\n\n\n### Verteiltes System mit intelligentem Load Balancing\n\n\nHinter den Kulissen arbeitet Exact Code Search als verteiltes System mit diesen Schlüsselkomponenten:\n\n\n* **Spezialisierte Such-Nodes:** Zweckgebundene Server, die Indexierung und Suche übernehmen\n\n* **Intelligentes Sharding:** Code wird basierend auf Namespaces über Nodes verteilt\n\n* **Automatisches Load Balancing:** Das System verteilt Arbeit intelligent basierend auf Kapazität\n\n* **Hohe Verfügbarkeit:** Mehrere Replikate gewährleisten kontinuierlichen Betrieb, selbst wenn Nodes ausfallen\n\n\n*Hinweis: Hohe Verfügbarkeit ist in die Architektur integriert, aber noch nicht vollständig aktiviert. Siehe [Issue 514736](https://gitlab.com/gitlab-org/gitlab/-/issues/514736) für Updates.*\n\n\n### Nahtlose Sicherheitsintegration\n\n\nExact Code Search integriert sich automatisch mit GitLabs Berechtigungssystem:\n\n\n* Suchergebnisse werden basierend auf den Zugriffsrechten des Nutzers gefiltert\n\n* Nur Code aus Projekten, auf die der Nutzer Zugriff hat, wird angezeigt\n\n* Sicherheit ist in die Kernarchitektur integriert, nicht nachträglich hinzugefügt\n\n\n### Optimierte Performance\n\n\n* **Effiziente Indexierung:** Große Repositories werden in Dutzenden von Sekunden indexiert\n\n* **Schnelle Query-Ausführung:** Die meisten Suchen liefern Ergebnisse mit Antwortzeiten unter einer Sekunde\n\n* **Streaming-Ergebnisse:** Die neue gRPC-basierte föderierte Suche streamt Ergebnisse, sobald sie gefunden werden\n\n* **Frühzeitiger Abbruch:** Sobald genügend Ergebnisse gesammelt wurden, pausiert das System die Suche\n\n\n## Von der Bibliothek zum verteilten System: Technische Herausforderungen, die wir gelöst haben\n\n\nWährend Zoekt die Kern-Suchtechnologie bereitstellte, war es ursprünglich als minimale Bibliothek zur Verwaltung von `.zoekt`-Indexdateien konzipiert – nicht als verteilte Datenbank oder Unternehmens-Service. Hier sind die wichtigsten technischen Herausforderungen, die wir überwunden haben, um es in GitLabs Maßstab zum Laufen zu bringen:\n\n\n### Herausforderung 1: Aufbau einer Orchestrierungsschicht\n\n\n**Das Problem:** Zoekt war für die Arbeit mit lokalen Indexdateien konzipiert, nicht für die Verteilung über mehrere Nodes, die viele gleichzeitige Nutzer bedienen.\n\n\n**Unsere Lösung:** Wir haben eine umfassende Orchestrierungsschicht aufgebaut, die:\n\n\n* Datenbankmodelle erstellt und verwaltet, um Nodes, Indizes, Repositories und Aufgaben zu verfolgen\n\n* Eine selbstregistrierende Node-Architektur implementiert (inspiriert von GitLab Runner)\n\n* Automatische Shard-Zuweisung und Load Balancing über Nodes hinweg handhabt\n\n* Bidirektionale API-Kommunikation zwischen GitLab Rails und Zoekt-Nodes bereitstellt\n\n\n### Herausforderung 2: Skalierung von Speicher und Indexierung\n\n\n**Das Problem:** Wie verwaltet man effizient Terabytes von Indexdaten über mehrere Nodes bei gleichzeitig schnellen Updates?\n\n\n**Unsere Lösung:** Wir implementierten:\n\n\n* Intelligentes Sharding: Namespaces werden basierend auf Kapazität und Last über Nodes verteilt\n\n* Unabhängige Replikation: Jeder Node indexiert unabhängig von [Gitaly](https://gitlab.com/gitlab-org/gitaly) (unserem Git-Speicherdienst), wodurch komplexe Synchronisation eliminiert wird\n\n* Watermark-Management: Ausgefeilte Speicherzuweisung, die verhindert, dass Nodes der Speicherplatz ausgeht\n\n* Einheitliche Binary-Architektur: Ein einzelnes `gitlab-zoekt`-Binary, das sowohl im Indexer- als auch im Webserver-Modus arbeiten kann\n\n\n### Herausforderung 3: Berechtigungsintegration\n\n\n**Das Problem:** Zoekt hatte kein Konzept von GitLabs komplexem Berechtigungssystem – Nutzer sollten nur Ergebnisse aus Projekten sehen, auf die sie Zugriff haben.\n\n\n**Unsere Lösung:** Wir haben native Berechtigungsfilterung direkt in den Suchablauf integriert:\n\n\n* Suchanfragen enthalten Nutzerberechtigungskontext\n\n* Ergebnisse werden gefiltert, um nur die anzuzeigen, auf die der Nutzer zugreifen kann, falls sich Berechtigungen ändern, bevor die Indexierung abgeschlossen ist\n\n\n### Herausforderung 4: Betriebliche Einfachheit\n\n\n**Das Problem:** Die Verwaltung eines verteilten Suchsystems sollte kein dediziertes Team erfordern.\n\n\n**Unsere Lösung:**\n\n\n* Auto-Scaling: Das Hinzufügen von Kapazität ist so einfach wie das Bereitstellen weiterer Nodes – sie registrieren sich automatisch und beginnen mit der Arbeit\n\n* Selbstheilung: Nodes, die sich nicht melden, werden automatisch als offline markiert und ihre Arbeit wird umverteilt\n\n* Zero-Configuration-Sharding: Das System bestimmt automatisch optimale Shard-Zuweisungen\n\n\n## Schrittweiser Rollout: Risikominimierung im großen Maßstab\n\n\nDer Rollout eines komplett neuen Such-Backends für Millionen von Nutzern erforderte sorgfältige Planung. So haben wir die Auswirkungen auf Kunden minimiert und gleichzeitig Zuverlässigkeit sichergestellt:\n\n\n### Phase 1: Kontrolliertes Testen (gitlab-org-Gruppe)\n\n\nWir begannen damit, Exact Code Search nur für die `gitlab-org`-Gruppe zu aktivieren – unsere eigenen internen Repositories. Das ermöglichte uns:\n\n\n* Das System mit echten Produktions-Workloads zu testen\n\n* Performance-Engpässe zu identifizieren und zu beheben\n\n* Den Bereitstellungsprozess zu optimieren\n\n* Aus den Workflows und dem Feedback echter Nutzer zu lernen\n\n\n### Phase 2: Performance-Validierung und -Optimierung\n\n\nVor der Erweiterung konzentrierten wir uns darauf sicherzustellen, dass das System GitLab.coms Maßstab bewältigen konnte:\n\n\n* Umfassendes Monitoring und Alerting implementiert\n\n* Speicherverwaltung mit echtem Produktionsdatenwachstum validiert\n\n\n### Phase 3: Schrittweise Kundenerweiterung\n\n\nWir erweiterten schrittweise auf Kunden, die daran interessiert waren, Exact Code Search zu testen:\n\n\n* Feedback zu Performance und Benutzererfahrung gesammelt\n\n* Die Such-UI basierend auf echten Nutzer-Workflows verfeinert\n\n* Indexierungs-Performance optimiert (große Repositories wie `gitlab-org/gitlab` indexieren jetzt in ~10 Sekunden)\n\n* Die Architektur basierend auf betrieblichen Erkenntnissen verfeinert\n\n* Indexierungs-Durchsatz massiv erhöht und Zustandsübergangs-Lebenszyklus verbessert\n\n\n### Phase 4: Breiter Rollout\n\n\nHeute haben über 99 % der Premium- und Ultimate-lizenzierten Gruppen auf GitLab.com Zugriff auf Exact Code Search. Nutzer können:\n\n\n* Zwischen Regex- und exaktem Suchmodus umschalten\n\n* Die Vorteile ohne Konfigurationsänderungen erleben\n\n* Bei Bedarf auf die vorherige Suche zurückgreifen (obwohl wenige dies wählen)\n\n\nDer schrittweise Rollout bedeutete, dass Nutzer keine Service-Unterbrechungen, Performance-Verschlechterungen oder Feature-Lücken während des Übergangs erlebten. Wir haben bereits positives Feedback von Nutzern erhalten, die bemerken, dass ihre Ergebnisse relevanter und schneller werden.\n\n\n> **Für technische Details:** Interessiert an der detaillierten Architektur und Implementierung? Schau dir unser umfassendes [Design-Dokument](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/code_search_with_zoekt/) für ausführliche technische Details an, wie wir dieses verteilte Suchsystem gebaut haben.\n\n\n## Erste Schritte mit Exact Code Search\n\n\nDer Einstieg in Exact Code Search ist einfach, da es bereits standardmäßig für Premium- und Ultimate-Gruppen auf GitLab.com aktiviert ist (über 99 % der berechtigten Gruppen haben derzeit Zugriff).\n\n\n### Schnellstart-Anleitung\n\n\n1. Navigiere zur erweiterten Suche in deinem GitLab-Projekt oder deiner Gruppe\n\n2. Gib deinen Suchbegriff im Code-Tab ein\n\n3. Wechsle zwischen Exact Match- und Regular Expression-Modus\n\n4. Nutze Filter, um deine Suche zu verfeinern\n\n\n### Grundlegende Such-Syntax\n\n\nEgal ob du den Exact Match- oder Regular Expression-Modus verwendest, du kannst deine Suche mit Modifikatoren verfeinern:\n\n\n| Abfrage-Beispiel | Was es bewirkt                                              |\n\n| ---------------- | ----------------------------------------------------------- |\n\n| `file:js`        | Sucht nur in Dateien, die \"js\" im Namen enthalten           |\n\n| `foo -bar`       | Findet \"foo\", schließt aber Ergebnisse mit \"bar\" aus        |\n\n| `lang:ruby`      | Sucht nur in Ruby-Dateien                                   |\n\n| `sym:process`    | Findet \"process\" in Symbolen (Methoden, Klassen, Variablen) |\n\n\n> **Profi-Tipp:** Für die effizientesten Suchen beginne spezifisch und erweitere dann bei Bedarf. Die Verwendung von `file:`- und `lang:`-Filtern erhöht die Relevanz dramatisch.\n\n\n### Erweiterte Suchtechniken\n\n\nStapele mehrere Filter für Präzision:\n\n\n```\n\nis_expected file:rb -file:spec\n\n```\n\n\nDas findet \"is_expected\" in Ruby-Dateien, die nicht \"spec\" im Namen haben.\n\n\nNutze reguläre Ausdrücke für leistungsstarke Muster:\n\n\n```\n\ntoken.*=.*[\\\"']\n\n```\n\n\n[Sieh dir diese Suche im GitLab Zoekt Repository an.](https://gitlab.com/search?search=token.*%3D.*%5B%5C%22'%5D&nav_source=navbar&project_id=46649240&group_id=9970&search_code=true&repository_ref=main&regex=true)\n\n\nDie Suche hilft, hartcodierte Passwörter zu finden, die, wenn nicht gefunden, ein Sicherheitsproblem darstellen können.\n\n\nFür detailliertere Syntax-Informationen, schau in die [Exact Code Search-Dokumentation](https://docs.gitlab.com/user/search/exact_code_search/#syntax).\n\n\n## Verfügbarkeit und Bereitstellung\n\n\n### Aktuelle Verfügbarkeit\n\n\nExact Code Search befindet sich derzeit in der Beta-Phase für GitLab.com-Nutzer mit Premium- und Ultimate-Lizenzen:\n\n\n* Verfügbar für über 99 % der lizenzierten Gruppen\n\n* Die Suche in der UI nutzt automatisch Zoekt, wenn verfügbar, Exact Code Search in der Such-API ist hinter einem Feature-Flag\n\n\n### Bereitstellungsoptionen für Self-Managed\n\n\nFür Self-Managed-Instanzen bieten wir mehrere Bereitstellungsmethoden:\n\n\n* Kubernetes/Helm: Unsere am besten unterstützte Methode, mit unserem [`gitlab-zoekt` Helm Chart](https://gitlab.com/gitlab-org/cloud-native/charts/gitlab-zoekt)\n\n* Andere Bereitstellungsoptionen: Wir arbeiten an der Vereinfachung der Bereitstellung für Omnibus und andere Installationsmethoden\n\n\nDie Systemanforderungen hängen von deiner Codebasis-Größe ab, aber die Architektur ist darauf ausgelegt, horizontal und/oder vertikal zu skalieren, wenn deine Anforderungen wachsen.\n\n\n## Was als Nächstes kommt\n\n\nWährend Exact Code Search bereits leistungsstark ist, verbessern wir sie kontinuierlich:\n\n\n* **Skalierungsoptimierungen** zur Unterstützung von Instanzen mit Hunderttausenden von Repositories\n\n* **Verbesserte Self-Managed-Bereitstellungsoptionen**, einschließlich vereinfachter Omnibus-Unterstützung\n\n* **Vollständige Hochverfügbarkeits-Unterstützung** mit automatischem Failover und Load Balancing\n\n\nBleib dran für Updates, während wir von Beta zu General Availability übergehen.\n\n\n## Transformiere deine Arbeitsweise mit Code\n\n\nGitLabs Exact Code Search repräsentiert ein grundlegendes Umdenken bei der Code-Entdeckung. Durch die Bereitstellung exakter Treffer, leistungsstarker Regex-Unterstützung und kontextbezogener Ergebnisse löst sie die frustrierendsten Aspekte der Code-Suche:\n\n\n* Keine Zeitverschwendung mehr mit irrelevanten Ergebnissen\n\n* Keine wichtigen Treffer mehr verpassen\n\n* Kein Durchklicken von Dateien mehr nur für grundlegendes Verständnis\n\n* Keine Performance-Probleme mehr bei wachsenden Codebasen\n\n\nDie Auswirkungen gehen über die individuelle Produktivität hinaus:\n\n\n* **Teams arbeiten besser zusammen** mit einfacher Code-Referenzierung\n\n* **Wissensaustausch beschleunigt sich**, wenn Muster auffindbar sind\n\n* **Onboarding wird schneller** mit schnellem Codebasis-Verständnis\n\n* **Sicherheit verbessert sich** mit effektivem Muster-Auditing\n\n* **Abbau technischer Schulden** wird machbarer\n\n\nExact Code Search ist nicht nur eine Funktion, es ist eine bessere Art, Code zu verstehen und damit zu arbeiten. Hör auf zu suchen und fang an zu finden.\n\n\n**Wir würden gerne von dir hören!** Teile deine Erfahrungen, Fragen oder Feedback zu Exact Code Search in unserem [Feedback-Issue](https://gitlab.com/gitlab-org/gitlab/-/issues/420920). Dein Input hilft uns, Verbesserungen und neue Funktionen zu priorisieren.\n\n\n> ### Bereit für smartere Code-Suche? Erfahre mehr in unserer [Dokumentation](https://docs.gitlab.com/ee/user/search/exact_code_search.html) oder probiere es jetzt aus, indem du eine Suche in deinen Premium- oder Ultimate-lizenzierten Namespaces oder Projekten durchführst. Noch kein GitLab-Nutzer? Teste [kostenlos GitLab Ultimate mit Duo](https://about.gitlab.com/free-trial/)!\n","product",[18,20,21],"tutorial","open source",{"featured":6,"template":23,"slug":24},"BlogPost","exact-code-search-find-code-faster-across-repositories","content:de-de:blog:exact-code-search-find-code-faster-across-repositories.yml","yaml","Exact Code Search Find Code Faster Across Repositories","content","de-de/blog/exact-code-search-find-code-faster-across-repositories.yml","de-de/blog/exact-code-search-find-code-faster-across-repositories","yml",{"_path":33,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":35,"_id":448,"_type":26,"title":449,"_source":28,"_file":450,"_stem":451,"_extension":31},"/shared/de-de/main-navigation","de-de",{"logo":36,"freeTrial":41,"sales":46,"login":51,"items":56,"search":389,"minimal":425,"duo":439},{"config":37},{"href":38,"dataGaName":39,"dataGaLocation":40},"/de-de/","gitlab logo","header",{"text":42,"config":43},"Kostenlose Testversion anfordern",{"href":44,"dataGaName":45,"dataGaLocation":40},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":47,"config":48},"Vertrieb kontaktieren",{"href":49,"dataGaName":50,"dataGaLocation":40},"/de-de/sales/","sales",{"text":52,"config":53},"Anmelden",{"href":54,"dataGaName":55,"dataGaLocation":40},"https://gitlab.com/users/sign_in/","sign in",[57,101,200,205,310,370],{"text":58,"config":59,"cards":61,"footer":84},"Plattform",{"dataNavLevelOne":60},"platform",[62,68,76],{"title":58,"description":63,"link":64},"Die umfassendste KI-basierte DevSecOps-Plattform",{"text":65,"config":66},"Erkunde unsere Plattform",{"href":67,"dataGaName":60,"dataGaLocation":40},"/de-de/platform/",{"title":69,"description":70,"link":71},"GitLab Duo (KI)","Entwickle Software schneller mit KI in jeder Phase der Entwicklung",{"text":72,"config":73},"Lerne GitLab Duo kennen",{"href":74,"dataGaName":75,"dataGaLocation":40},"/de-de/gitlab-duo/","gitlab duo ai",{"title":77,"description":78,"link":79},"Gründe, die für GitLab sprechen","10 Gründe, warum Unternehmen sich für GitLab entscheiden",{"text":80,"config":81},"Mehr erfahren",{"href":82,"dataGaName":83,"dataGaLocation":40},"/de-de/why-gitlab/","why gitlab",{"title":85,"items":86},"Erste Schritte mit",[87,92,97],{"text":88,"config":89},"Platform Engineering",{"href":90,"dataGaName":91,"dataGaLocation":40},"/de-de/solutions/platform-engineering/","platform engineering",{"text":93,"config":94},"Entwicklererfahrung",{"href":95,"dataGaName":96,"dataGaLocation":40},"/de-de/developer-experience/","Developer experience",{"text":98,"config":99},"MLOps",{"href":100,"dataGaName":98,"dataGaLocation":40},"/de-de/topics/devops/the-role-of-ai-in-devops/",{"text":102,"left":103,"config":104,"link":106,"lists":110,"footer":182},"Produkt",true,{"dataNavLevelOne":105},"solutions",{"text":107,"config":108},"Alle Lösungen anzeigen",{"href":109,"dataGaName":105,"dataGaLocation":40},"/de-de/solutions/",[111,137,160],{"title":112,"description":113,"link":114,"items":119},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":115},{"icon":116,"href":117,"dataGaName":118,"dataGaLocation":40},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[120,124,128,133],{"text":121,"config":122},"CI/CD",{"href":123,"dataGaLocation":40,"dataGaName":121},"/de-de/solutions/continuous-integration/",{"text":125,"config":126},"KI-unterstützte Entwicklung",{"href":74,"dataGaLocation":40,"dataGaName":127},"AI assisted development",{"text":129,"config":130},"Quellcodeverwaltung",{"href":131,"dataGaLocation":40,"dataGaName":132},"/de-de/solutions/source-code-management/","Source Code Management",{"text":134,"config":135},"Automatisierte Softwarebereitstellung",{"href":117,"dataGaLocation":40,"dataGaName":136},"Automated software delivery",{"title":138,"description":139,"link":140,"items":145},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":141},{"href":142,"dataGaName":143,"dataGaLocation":40,"icon":144},"/de-de/solutions/security-compliance/","security and compliance","ShieldCheckLight",[146,151,156],{"text":147,"config":148},"Application Security Testing",{"href":149,"dataGaName":150,"dataGaLocation":40},"/solutions/application-security-testing/","Application security testing",{"text":152,"config":153},"Schutz der Software-Lieferkette",{"href":154,"dataGaLocation":40,"dataGaName":155},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":157,"config":158},"Software Compliance",{"href":159,"dataGaName":157,"dataGaLocation":40},"/solutions/software-compliance/",{"title":161,"link":162,"items":167},"Bewertung",{"config":163},{"icon":164,"href":165,"dataGaName":166,"dataGaLocation":40},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[168,172,177],{"text":169,"config":170},"Sichtbarkeit und Bewertung",{"href":165,"dataGaLocation":40,"dataGaName":171},"Visibility and Measurement",{"text":173,"config":174},"Wertstrommanagement",{"href":175,"dataGaLocation":40,"dataGaName":176},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":178,"config":179},"Analysen und Einblicke",{"href":180,"dataGaLocation":40,"dataGaName":181},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":183,"items":184},"GitLab für",[185,190,195],{"text":186,"config":187},"Enterprise",{"href":188,"dataGaLocation":40,"dataGaName":189},"/de-de/enterprise/","enterprise",{"text":191,"config":192},"Kleinunternehmen",{"href":193,"dataGaLocation":40,"dataGaName":194},"/de-de/small-business/","small business",{"text":196,"config":197},"den öffentlichen Sektor",{"href":198,"dataGaLocation":40,"dataGaName":199},"/de-de/solutions/public-sector/","public sector",{"text":201,"config":202},"Preise",{"href":203,"dataGaName":204,"dataGaLocation":40,"dataNavLevelOne":204},"/de-de/pricing/","pricing",{"text":206,"config":207,"link":209,"lists":213,"feature":297},"Ressourcen",{"dataNavLevelOne":208},"resources",{"text":210,"config":211},"Alle Ressourcen anzeigen",{"href":212,"dataGaName":208,"dataGaLocation":40},"/de-de/resources/",[214,247,269],{"title":215,"items":216},"Erste Schritte",[217,222,227,232,237,242],{"text":218,"config":219},"Installieren",{"href":220,"dataGaName":221,"dataGaLocation":40},"/de-de/install/","install",{"text":223,"config":224},"Kurzanleitungen",{"href":225,"dataGaName":226,"dataGaLocation":40},"/de-de/get-started/","quick setup checklists",{"text":228,"config":229},"Lernen",{"href":230,"dataGaLocation":40,"dataGaName":231},"https://university.gitlab.com/","learn",{"text":233,"config":234},"Produktdokumentation",{"href":235,"dataGaName":236,"dataGaLocation":40},"https://docs.gitlab.com/","product documentation",{"text":238,"config":239},"Best-Practice-Videos",{"href":240,"dataGaName":241,"dataGaLocation":40},"/de-de/getting-started-videos/","best practice videos",{"text":243,"config":244},"Integrationen",{"href":245,"dataGaName":246,"dataGaLocation":40},"/de-de/integrations/","integrations",{"title":248,"items":249},"Entdecken",[250,255,259,264],{"text":251,"config":252},"Kundenerfolge",{"href":253,"dataGaName":254,"dataGaLocation":40},"/de-de/customers/","customer success stories",{"text":256,"config":257},"Blog",{"href":258,"dataGaName":5,"dataGaLocation":40},"/de-de/blog/",{"text":260,"config":261},"Remote",{"href":262,"dataGaName":263,"dataGaLocation":40},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":265,"config":266},"TeamOps",{"href":267,"dataGaName":268,"dataGaLocation":40},"/de-de/teamops/","teamops",{"title":270,"items":271},"Vernetzen",[272,277,282,287,292],{"text":273,"config":274},"GitLab-Services",{"href":275,"dataGaName":276,"dataGaLocation":40},"/de-de/services/","services",{"text":278,"config":279},"Community",{"href":280,"dataGaName":281,"dataGaLocation":40},"/community/","community",{"text":283,"config":284},"Forum",{"href":285,"dataGaName":286,"dataGaLocation":40},"https://forum.gitlab.com/","forum",{"text":288,"config":289},"Veranstaltungen",{"href":290,"dataGaName":291,"dataGaLocation":40},"/events/","events",{"text":293,"config":294},"Partner",{"href":295,"dataGaName":296,"dataGaLocation":40},"/partners/","partners",{"backgroundColor":298,"textColor":299,"text":300,"image":301,"link":305},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":302,"config":303},"the source promo card",{"src":304},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":306,"config":307},"Lies die News",{"href":308,"dataGaName":309,"dataGaLocation":40},"/de-de/the-source/","the source",{"text":311,"config":312,"lists":314},"Unternehmen",{"dataNavLevelOne":313},"company",[315],{"items":316},[317,322,328,330,335,340,345,350,355,360,365],{"text":318,"config":319},"Über",{"href":320,"dataGaName":321,"dataGaLocation":40},"/de-de/company/","about",{"text":323,"config":324,"footerGa":327},"Karriere",{"href":325,"dataGaName":326,"dataGaLocation":40},"/jobs/","jobs",{"dataGaName":326},{"text":288,"config":329},{"href":290,"dataGaName":291,"dataGaLocation":40},{"text":331,"config":332},"Geschäftsführung",{"href":333,"dataGaName":334,"dataGaLocation":40},"/company/team/e-group/","leadership",{"text":336,"config":337},"Team",{"href":338,"dataGaName":339,"dataGaLocation":40},"/company/team/","team",{"text":341,"config":342},"Handbuch",{"href":343,"dataGaName":344,"dataGaLocation":40},"https://handbook.gitlab.com/","handbook",{"text":346,"config":347},"Investor Relations",{"href":348,"dataGaName":349,"dataGaLocation":40},"https://ir.gitlab.com/","investor relations",{"text":351,"config":352},"Trust Center",{"href":353,"dataGaName":354,"dataGaLocation":40},"/de-de/security/","trust center",{"text":356,"config":357},"AI Transparency Center",{"href":358,"dataGaName":359,"dataGaLocation":40},"/de-de/ai-transparency-center/","ai transparency center",{"text":361,"config":362},"Newsletter",{"href":363,"dataGaName":364,"dataGaLocation":40},"/company/contact/","newsletter",{"text":366,"config":367},"Presse",{"href":368,"dataGaName":369,"dataGaLocation":40},"/press/","press",{"text":371,"config":372,"lists":373},"Kontakt",{"dataNavLevelOne":313},[374],{"items":375},[376,379,384],{"text":47,"config":377},{"href":49,"dataGaName":378,"dataGaLocation":40},"talk to sales",{"text":380,"config":381},"Support",{"href":382,"dataGaName":383,"dataGaLocation":40},"/support/","get help",{"text":385,"config":386},"Kundenportal",{"href":387,"dataGaName":388,"dataGaLocation":40},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":390,"login":391,"suggestions":398},"Schließen",{"text":392,"link":393},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":394,"config":395},"gitlab.com",{"href":54,"dataGaName":396,"dataGaLocation":397},"search login","search",{"text":399,"default":400},"Vorschläge",[401,404,409,411,416,421],{"text":69,"config":402},{"href":74,"dataGaName":403,"dataGaLocation":397},"GitLab Duo (AI)",{"text":405,"config":406},"Code Suggestions (KI)",{"href":407,"dataGaName":408,"dataGaLocation":397},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":121,"config":410},{"href":123,"dataGaName":121,"dataGaLocation":397},{"text":412,"config":413},"GitLab auf AWS",{"href":414,"dataGaName":415,"dataGaLocation":397},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":417,"config":418},"GitLab auf Google Cloud",{"href":419,"dataGaName":420,"dataGaLocation":397},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":422,"config":423},"Warum GitLab?",{"href":82,"dataGaName":424,"dataGaLocation":397},"Why GitLab?",{"freeTrial":426,"mobileIcon":431,"desktopIcon":436},{"text":427,"config":428},"Kostenlos testen",{"href":429,"dataGaName":45,"dataGaLocation":430},"https://gitlab.com/-/trials/new/","nav",{"altText":432,"config":433},"GitLab-Symbol",{"src":434,"dataGaName":435,"dataGaLocation":430},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":432,"config":437},{"src":438,"dataGaName":435,"dataGaLocation":430},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":440,"mobileIcon":444,"desktopIcon":446},{"text":441,"config":442},"Erfahre mehr über GitLab Duo",{"href":74,"dataGaName":443,"dataGaLocation":430},"gitlab duo",{"altText":432,"config":445},{"src":434,"dataGaName":435,"dataGaLocation":430},{"altText":432,"config":447},{"src":438,"dataGaName":435,"dataGaLocation":430},"content:shared:de-de:main-navigation.yml","Main Navigation","shared/de-de/main-navigation.yml","shared/de-de/main-navigation",{"_path":453,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"title":454,"button":455,"config":460,"_id":462,"_type":26,"_source":28,"_file":463,"_stem":464,"_extension":31},"/shared/de-de/banner","GitLab Duo Agent Platform ist jetzt in öffentlicher Beta!",{"text":456,"config":457},"Beta testen",{"href":458,"dataGaName":459,"dataGaLocation":40},"/de-de/gitlab-duo/agent-platform/","duo banner",{"layout":461},"release","content:shared:de-de:banner.yml","shared/de-de/banner.yml","shared/de-de/banner",{"_path":466,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":467,"_id":670,"_type":26,"title":671,"_source":28,"_file":672,"_stem":673,"_extension":31},"/shared/de-de/main-footer",{"text":468,"source":469,"edit":475,"contribute":480,"config":485,"items":490,"minimal":662},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":470,"config":471},"Quelltext der Seite anzeigen",{"href":472,"dataGaName":473,"dataGaLocation":474},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":476,"config":477},"Diese Seite bearbeiten",{"href":478,"dataGaName":479,"dataGaLocation":474},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":481,"config":482},"Beteilige dich",{"href":483,"dataGaName":484,"dataGaLocation":474},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":486,"facebook":487,"youtube":488,"linkedin":489},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[491,514,569,598,632],{"title":58,"links":492,"subMenu":497},[493],{"text":494,"config":495},"DevSecOps-Plattform",{"href":67,"dataGaName":496,"dataGaLocation":474},"devsecops platform",[498],{"title":201,"links":499},[500,504,509],{"text":501,"config":502},"Tarife anzeigen",{"href":203,"dataGaName":503,"dataGaLocation":474},"view plans",{"text":505,"config":506},"Vorteile von Premium",{"href":507,"dataGaName":508,"dataGaLocation":474},"/de-de/pricing/premium/","why premium",{"text":510,"config":511},"Vorteile von Ultimate",{"href":512,"dataGaName":513,"dataGaLocation":474},"/de-de/pricing/ultimate/","why ultimate",{"title":515,"links":516},"Lösungen",[517,522,525,527,532,537,541,544,547,552,554,556,559,564],{"text":518,"config":519},"Digitale Transformation",{"href":520,"dataGaName":521,"dataGaLocation":474},"/de-de/topics/digital-transformation/","digital transformation",{"text":523,"config":524},"Sicherheit und Compliance",{"href":149,"dataGaName":150,"dataGaLocation":474},{"text":134,"config":526},{"href":117,"dataGaName":118,"dataGaLocation":474},{"text":528,"config":529},"Agile Entwicklung",{"href":530,"dataGaName":531,"dataGaLocation":474},"/de-de/solutions/agile-delivery/","agile delivery",{"text":533,"config":534},"Cloud-Transformation",{"href":535,"dataGaName":536,"dataGaLocation":474},"/de-de/topics/cloud-native/","cloud transformation",{"text":538,"config":539},"SCM",{"href":131,"dataGaName":540,"dataGaLocation":474},"source code management",{"text":121,"config":542},{"href":123,"dataGaName":543,"dataGaLocation":474},"continuous integration & delivery",{"text":173,"config":545},{"href":175,"dataGaName":546,"dataGaLocation":474},"value stream management",{"text":548,"config":549},"GitOps",{"href":550,"dataGaName":551,"dataGaLocation":474},"/de-de/solutions/gitops/","gitops",{"text":186,"config":553},{"href":188,"dataGaName":189,"dataGaLocation":474},{"text":191,"config":555},{"href":193,"dataGaName":194,"dataGaLocation":474},{"text":557,"config":558},"Öffentlicher Sektor",{"href":198,"dataGaName":199,"dataGaLocation":474},{"text":560,"config":561},"Bildungswesen",{"href":562,"dataGaName":563,"dataGaLocation":474},"/de-de/solutions/education/","education",{"text":565,"config":566},"Finanzdienstleistungen",{"href":567,"dataGaName":568,"dataGaLocation":474},"/de-de/solutions/finance/","financial services",{"title":206,"links":570},[571,573,575,577,580,582,584,586,588,590,592,594,596],{"text":218,"config":572},{"href":220,"dataGaName":221,"dataGaLocation":474},{"text":223,"config":574},{"href":225,"dataGaName":226,"dataGaLocation":474},{"text":228,"config":576},{"href":230,"dataGaName":231,"dataGaLocation":474},{"text":233,"config":578},{"href":235,"dataGaName":579,"dataGaLocation":474},"docs",{"text":256,"config":581},{"href":258,"dataGaName":5,"dataGaLocation":474},{"text":251,"config":583},{"href":253,"dataGaName":254,"dataGaLocation":474},{"text":260,"config":585},{"href":262,"dataGaName":263,"dataGaLocation":474},{"text":273,"config":587},{"href":275,"dataGaName":276,"dataGaLocation":474},{"text":265,"config":589},{"href":267,"dataGaName":268,"dataGaLocation":474},{"text":278,"config":591},{"href":280,"dataGaName":281,"dataGaLocation":474},{"text":283,"config":593},{"href":285,"dataGaName":286,"dataGaLocation":474},{"text":288,"config":595},{"href":290,"dataGaName":291,"dataGaLocation":474},{"text":293,"config":597},{"href":295,"dataGaName":296,"dataGaLocation":474},{"title":311,"links":599},[600,602,604,606,608,610,612,616,621,623,625,627],{"text":318,"config":601},{"href":320,"dataGaName":313,"dataGaLocation":474},{"text":323,"config":603},{"href":325,"dataGaName":326,"dataGaLocation":474},{"text":331,"config":605},{"href":333,"dataGaName":334,"dataGaLocation":474},{"text":336,"config":607},{"href":338,"dataGaName":339,"dataGaLocation":474},{"text":341,"config":609},{"href":343,"dataGaName":344,"dataGaLocation":474},{"text":346,"config":611},{"href":348,"dataGaName":349,"dataGaLocation":474},{"text":613,"config":614},"Sustainability",{"href":615,"dataGaName":613,"dataGaLocation":474},"/sustainability/",{"text":617,"config":618},"Vielfalt, Inklusion und Zugehörigkeit",{"href":619,"dataGaName":620,"dataGaLocation":474},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":351,"config":622},{"href":353,"dataGaName":354,"dataGaLocation":474},{"text":361,"config":624},{"href":363,"dataGaName":364,"dataGaLocation":474},{"text":366,"config":626},{"href":368,"dataGaName":369,"dataGaLocation":474},{"text":628,"config":629},"Transparenzerklärung zu moderner Sklaverei",{"href":630,"dataGaName":631,"dataGaLocation":474},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":633,"links":634},"Nimm Kontakt auf",[635,638,640,642,647,652,657],{"text":636,"config":637},"Sprich mit einem Experten/einer Expertin",{"href":49,"dataGaName":50,"dataGaLocation":474},{"text":380,"config":639},{"href":382,"dataGaName":383,"dataGaLocation":474},{"text":385,"config":641},{"href":387,"dataGaName":388,"dataGaLocation":474},{"text":643,"config":644},"Status",{"href":645,"dataGaName":646,"dataGaLocation":474},"https://status.gitlab.com/","status",{"text":648,"config":649},"Nutzungsbedingungen",{"href":650,"dataGaName":651,"dataGaLocation":474},"/terms/","terms of use",{"text":653,"config":654},"Datenschutzerklärung",{"href":655,"dataGaName":656,"dataGaLocation":474},"/de-de/privacy/","privacy statement",{"text":658,"config":659},"Cookie-Einstellungen",{"dataGaName":660,"dataGaLocation":474,"id":661,"isOneTrustButton":103},"cookie preferences","ot-sdk-btn",{"items":663},[664,666,668],{"text":648,"config":665},{"href":650,"dataGaName":651,"dataGaLocation":474},{"text":653,"config":667},{"href":655,"dataGaName":656,"dataGaLocation":474},{"text":658,"config":669},{"dataGaName":660,"dataGaLocation":474,"id":661,"isOneTrustButton":103},"content:shared:de-de:main-footer.yml","Main Footer","shared/de-de/main-footer.yml","shared/de-de/main-footer",[675],{"_path":676,"_dir":677,"_draft":6,"_partial":6,"_locale":7,"content":678,"config":682,"_id":684,"_type":26,"title":14,"_source":28,"_file":685,"_stem":686,"_extension":31},"/en-us/blog/authors/dmitry-gruzd","authors",{"name":14,"config":679},{"headshot":680,"ctfId":681},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682014/Blog/Author%20Headshots/dgruzd-headshot.jpg","dgruzd",{"template":683},"BlogAuthor","content:en-us:blog:authors:dmitry-gruzd.yml","en-us/blog/authors/dmitry-gruzd.yml","en-us/blog/authors/dmitry-gruzd",{"_path":688,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"header":689,"eyebrow":690,"blurb":691,"button":692,"secondaryButton":696,"_id":698,"_type":26,"title":699,"_source":28,"_file":700,"_stem":701,"_extension":31},"/shared/de-de/next-steps","Stelle jetzt bessere Software schneller bereit","Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab","Erlebe, was dein Team mit der intelligenten\n\n\nDevSecOps-Plattform erreichen kann.\n",{"text":42,"config":693},{"href":694,"dataGaName":45,"dataGaLocation":695},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":47,"config":697},{"href":49,"dataGaName":50,"dataGaLocation":695},"content:shared:de-de:next-steps.yml","Next Steps","shared/de-de/next-steps.yml","shared/de-de/next-steps",1759347790566]