Note
Repositoryrichtlinien befinden sich derzeit in der public preview. Änderungen sind vorbehalten.
Du kannst eine Repositoryrichtlinie erstellen, um wichtige Ereignisse im Lebenszyklus deiner Repositorys zu steuern, z. B. wer Repositorys erstellen oder löschen kann. Eine Repositoryrichtlinie ist eine Sammlung von Einschränkungen, mit denen du flexibel steuern kannst, für welche Benutzer diese gelten und welche die Zielrepositorys sind.
In einer Repositoryrichtlinie kannst du Folgendes einschränken:
- Welche Sichtbarkeitsoptionen für neue Repositorys und Sichtbarkeitsänderungen zulässig sind
- Wer Repositorys erstellen kann
- Wer Repositorys löschen kann
- Wer Repositorys aus einer Organisation heraus **übertragen ** kann
- Wie Personen Repositorys benennen können
Tip
Wenn du ein Unternehmensbesitzer bist, kannst du eine Repositoryrichtlinie erstellen, die für mehrere Organisationen gilt. Weitere Informationen findest du unter Verwalten der Verwendung von Repositorys in deinem Unternehmen.
Beispiele
Du kannst eine Repositoryrichtlinie unter anderem für folgende Aufgaben verwenden:
- Sicherstellen, dass alle neuen Repositorys einer bestimmten Benennungskonvention folgen, beispielsweise
kebab-case
- Verhindern des Löschens von Repositorys außer durch Organisationsadministratoren
- Zulassen, dass öffentliche Repositorys nur in der „Open Source“-Organisation in deinem Unternehmen erstellt werden
- Verhindern, dass öffentliche Repositorys in private Repositorys geändert werden, um potenziellen Verlust von Metadaten zu vermeiden
Wie wähle ich Zielrepositorys aus?
Es wird empfohlen, Repositoryrichtlinien zusammen mit benutzerdefinierten Repositoryeigenschaften zu nutzen. Durch das Hinzufügen von benutzerdefinierten Eigenschaften zu Repositorys kannst du diese Repositorys in einer Richtlinie flexibel auswählen.
Du kannst beispielsweise eine Eigenschaft hinzufügen, um Repositorys zu markieren, die Produktionsdaten oder andere vertrauliche Informationen enthalten, und dann verhindern, dass diese Repositorys öffentlich gemacht werden können.
Weitere Informationen zum Erstellen und Festlegen von benutzerdefinierten Eigenschaften findest du unter Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation.
Als Alternative zu benutzerdefinierten Eigenschaften kannst du ein Repository aus einer Liste von Repositorys auswählen oder die fnmatch
-Syntax verwenden, um Repositorys mit bestimmten Benennungsmustern als Ziel festzulegen.
Interagieren mit anderen Richtlinien
Einige der verfügbaren Einschränkungen sind Duplikate von Richtlinien, die du möglicherweise auf der Seite „Member privileges“ in den Organisations- oder Unternehmenseinstellungen festgelegt hast.
Durch das Erstellen einer Repositoryrichtlinie werden deine vorhandenen Richtlinien für Mitgliederberechtigungen nicht außer Kraft gesetzt. Diese Richtlinien sind additiv, sodass die restriktivste Version einer Richtlinie gilt. Dies gilt sowohl für Mitgliedsberechtigungsrichtlinien als auch für andere Repositoryrichtlinien, die Personen auf Unternehmens- oder Organisationsebene erstellt haben.
Im Vergleich zu Mitgliedsberechtigungsrichtlinien haben Repositoryrichtlinien mehrere Vorteile:
- Sie bieten flexiblere Auswahlmöglichkeiten für Zielorganisationen und -repositorys.
- Mit ihnen kannst du es bestimmten Akteuren ermöglichen, die Richtlinien zu umgehen.
Erstellen einer Repositoryrichtlinie
- Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
- Klicke neben der Organisation auf Einstellungen.
- Klicke auf der Seitenleiste links auf der Seite auf Policies.
- Klicke unter „Policies“ auf Repository.
- Klicken Sie auf Neue Richtlinie.
- Konfiguriere deine neue Richtlinie, und klicke dann auf Create. Hilfe findest du in den folgenden Unterabschnitten.
Richtlinienname
Verwende ein beschreibendes Element, um den Zweck der Richtlinie darzustellen. Beispiel: Prevent public repos on production
Erzwingungsstatus
Wenn die Richtlinie nicht erzwungen werden soll, wenn sie erstellt wird, lege diese auf „Disabled“ fest. Andernfalls wird „Active“ festgelegt.
Zulassungsliste
Wähle aus, welche Rollen und Teams die Einschränkungen in dieser Richtlinie umgehen können.
Targets
Wähle aus, für welche Repositorys in der Organisation die Richtlinie gilt. Du kannst alle Repositorys oder einige vorhandene Repositorys auswählen oder eine dynamische Regel anhand des Namens oder der benutzerdefinierten Eigenschaft für aktuelle und zukünftige Repositorys erstellen.
Wenn du eine dynamische Liste anhand des Namens festlegst, fügst du mithilfe der fnmatch
-Syntax ein oder mehrere Benennungsmuster hinzu.
- Beispielsweise würde die Zeichenfolge
*open-source
mit allen Repositorys übereinstimmen, deren Namen mitopen-source
enden. Details zur Syntax findest du unter Erstellen von Regelsätzen für ein Repository. - Optional kannst du verhindern, dass Personen außerhalb der Zulassungsliste die ausgewählten Repositorys umbenennen können. Alternativ kannst du das Namensformat im Abschnitt „Policies“ verwalten.
Richtlinien
Wähle aus, welche Einschränkungen enthalten sein sollen. Wenn die Richtlinie aktiv ist, gelten die Einschränkungen für alle Zielrepositorys, können jedoch von Benutzern oder Teams auf der Zulassungsliste umgangen werden.
Wenn du die Richtlinie „Restrict names“ auswählst, musst du reguläre Ausdrücke verwenden, um ein Muster festzulegen, mit dem Repositorynamen entweder übereinstimmen oder nicht übereinstimmen müssen. Ein Muster zum Erzwingen der Benennung kebab-case
würde z. B. wie folgt aussehen: ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$
.
- Muster unterstützen die RE2-Syntax. Weitere Informationen findest du im Syntaxleitfaden von Google.
- Klicke auf Test pattern, und gib dann ein Muster und einen Testwert ein, um deine Ausdrücke zu überprüfen.