Zweigrichtlinien und -einstellungen

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Zweigrichtlinien helfen Teams, ihre wichtigen Entwicklungszweige zu schützen. Richtlinien erzwingen die Codequalitäts- und Change Management-Standards Ihres Teams. In diesem Artikel wird beschrieben, wie Verzweigungsrichtlinien festgelegt und verwaltet werden. Eine Übersicht über alle Repository- und Zweigrichtlinien und -einstellungen finden Sie unter Git-Repositoryeinstellungen und -richtlinien.

Eine Verzweigung, die erforderliche Richtlinien konfiguriert hat, kann nicht gelöscht werden, und erfordert Pullanforderungen (PRs) für alle Änderungen.

Voraussetzungen

  • Um Verzweigungsrichtlinien festzulegen, müssen Sie Mitglied der Sicherheitsgruppe Project Administratoren sein oder Über Berechtigungen für die Richtlinien auf Repositoryebene verfügen. Weitere Informationen finden Sie unter Festlegen von Git-Repositoryberechtigungen.

Konfigurieren von Branchrichtlinien

Um Zweigrichtlinien zu verwalten, wählen Sie Repos>Branches aus, um die Seite "Zweigstellen" im Webportal zu öffnen.

Screenshot that shows the Branches menu item.

Sie können auch zu Zweigrichtlinieneinstellungen mit Project Einstellungen>RepositoryPoliciesBranch>>PoliciesBranch><Name> gelangen.

Zweigstellen, die Richtlinien enthalten, zeigen ein Richtliniensymbol an. Sie können das Symbol auswählen, um direkt zu den Richtlinieneinstellungen der Zweigstelle zu wechseln.

Um Verzweigungsrichtlinien festzulegen, suchen Sie nach dem Zweig, den Sie verwalten möchten. Sie können die Liste durchsuchen oder nach Ihrem Zweig im Feld "Suchzweigname " oben rechts suchen.

Wählen Sie das Symbol "Weitere Optionen " neben dem Zweig aus, und wählen Sie dann "Branch-Richtlinien " im Kontextmenü aus.

Screenshot that shows Open the branch policies from the context menu.

Suchen Sie Ihren Zweig auf der Seite. Sie können die Liste durchsuchen oder mithilfe des Felds "Alle Verzweigungen durchsuchen" oben rechts nach Ihrem Zweig suchen.

Screenshot that shows the Branches page.

Wählen Sie die Schaltfläche ... aus. Wählen Sie im Kontextmenü Branch Policies (Branchrichtlinien) aus.

Screenshot that shows Open the branch policies from the context menu.

Konfigurieren sie Richtlinien auf der Seite "Einstellungen" des Zweigs. In den folgenden Abschnitten finden Sie Beschreibungen und Anweisungen für jeden Richtlinientyp.

Konfigurieren Sie die Richtlinien auf der Seite Policies (Richtlinien). In den folgenden Abschnitten finden Sie Beschreibungen jedes Richtlinientyps. Wählen Sie "Änderungen speichern " aus, um Ihre neue Richtlinienkonfiguration anzuwenden.

Screenshot that shows the Policies tab.

Erfordern einer Mindestanzahl von Prüfern

Codeüberprüfungen sind für Softwareentwicklungsprojekte wichtig. Um sicherzustellen, dass Teams PRs überprüfen und genehmigen, können Sie eine Genehmigung von einer Mindestanzahl von Prüfern erfordern. Die grundlegende Richtlinie erfordert, dass eine angegebene Anzahl von Prüfern den Code genehmigt, ohne Ablehnungen.

Um die Richtlinie festzulegen, legen Sie unter Verzweigungsrichtlinien die Mindestanzahl der Prüfer auf "Ein" fest. Geben Sie die erforderliche Anzahl von Prüfern ein, und wählen Sie eine der folgenden Optionen aus:

Screenshot that shows the Enable the Require Code Reviews policy.

  • Wählen Sie "Zulassen" aus, um ihre eigenen Änderungen zu genehmigen , damit der Ersteller einer PR über seine Genehmigung abstimmen kann. Andernfalls kann der Ersteller weiterhin über die PR abstimmen, aber seine Abstimmung wird nicht auf die Mindestanzahl der Prüfer zählen.

  • Wählen Sie "Verbieten", dass der letzte Pusher ihre eigenen Änderungen genehmigt , um die Trennung von Aufgaben zu erzwingen. Standardmäßig kann jeder, der die Pushberechtigung für die Quellverzweigung besitzt, Commits und Abstimmungen zur PR-Genehmigung hinzufügen. Wenn Sie diese Option auswählen, wird die Abstimmung des letzten Pushers nicht gezählt, auch wenn sie ihre eigenen Änderungen ordinär genehmigen können.

  • Wählen Sie " Abschluss zulassen" aus, auch wenn einige Prüfer die Genehmigung warten oder ablehnen , um den Abschluss der PR zuzulassen, auch wenn einige Prüfer gegen die Genehmigung stimmen. Die Mindestanzahl der Prüfer muss weiterhin genehmigt werden.

  • Unter "Wenn neue Änderungen pusht werden:

    • Wählen Sie mindestens eine Genehmigung für die letzte Iteration aus, um mindestens eine Genehmigungsstimme für die letzte Änderung der Quellzweige zu erfordern.
    • Wählen Sie "Alle Genehmigungsstimmen zurücksetzen" aus (setzt keine Stimmen zurück, um alle Genehmigungsstimmen abzulehnen oder zu warten), um alle Genehmigungsstimmen zu entfernen, aber die Stimmen beibehalten, um zu ablehnen oder zu warten, wenn sich die Quellzweigung ändert,
    • Wählen Sie "Alle Codeprüferstimmen zurücksetzen " aus, um alle Prüferstimmen zu entfernen, wenn sich die Quellzweige ändert, einschließlich Stimmen zum Genehmigen, Ablehnen oder Warten.

Check the Require Code Reviews box

  • Wenn Die Antragsteller ihre eigenen Änderungen nicht genehmigen können, kann der Ersteller der Pullanforderung weiterhin für ihre Pullanfrage stimmen, aber ihre Abstimmung wird nicht auf die Mindestanzahl der Prüfer zählen.
  • Wenn ein Prüfer die Änderungen zurückweist, kann die Pullanforderung erst abgeschlossen werden, wenn Sie "Abschluss zulassen" auswählen, auch wenn einige Prüfer stimmen, um zu warten oder abzulehnen.
  • Sie können Codeprüferstimmen zurücksetzen, wenn neue Änderungen an den Quellzweig verschoben werden. Wählen Sie "Codeprüfer zurücksetzen" aus, wenn neue Änderungen vorhanden sind.

Wenn alle anderen Richtlinien übergeben werden, kann der Ersteller die PR abschließen, wenn die erforderliche Anzahl von Prüfern sie genehmigt.

Überprüfen auf verknüpfte Arbeitselemente

Für die Überwachung von Arbeitsaufgaben können Sie Zuordnungen zwischen PRs und Arbeitselementen erfordern. Das Verknüpfen von Arbeitselementen bietet mehr Kontext für Änderungen und stellt sicher, dass Aktualisierungen Ihren Arbeitsaufgabenverfolgungsprozess durchlaufen.

Wenn Sie die Richtlinie festlegen möchten, legen Sie unter Verzweigungsrichtlinien auf "Nach verknüpften Arbeitselementen suchen" auf "Ein" fest. Diese Einstellung erfordert, dass Arbeitselemente mit einer PR verknüpft werden, damit die PR zusammenführen kann. Legen Sie die Einstellung Optional fest, um zu warnen, wenn keine verknüpften Arbeitselemente vorhanden sind, aber die Fertigstellung der Pullanforderung zulassen.

Screenshot of requiring linked work items in pull requests.

Require linked work items in your pull requests

Nach Kommentarauflösung suchen

Die Richtlinie zur Kommentarauflösung überprüft, ob alle PR-Kommentare aufgelöst werden.

Konfigurieren Sie eine Kommentarauflösungsrichtlinie für Ihre Verzweigung, indem Sie auf "Nach Kommentarauflösung suchen" auf "Ein" festlegen. Wählen Sie dann aus, ob die Richtlinie erforderlich oder optional sein soll.

Check for comment resolution

Weitere Informationen zum Arbeiten mit Pullanforderungskommentaren finden Sie unter Überprüfen von Pullanforderungen.

Konfigurieren Sie eine Kommentarauflösungsrichtlinie für Ihre Verzweigung, indem Sie auf Kommentarauflösung überprüfen klicken.

Check for comment resolution

Weitere Informationen zum Arbeiten mit Pullanforderungskommentaren finden Sie unter Überprüfen von Pullanforderungen.

Einschränken von Seriendrucktypen

Azure Repos hat mehrere Zusammenführungsstrategien, und standardmäßig sind alle zulässig. Sie können einen konsistenten Verzweigungsverlauf beibehalten, indem Sie eine Zusammenführungsstrategie für den Abschluss der PR erzwingen.

Legen Sie "Seriendrucktypen einschränken" auf "Ein " fest, um zu begrenzen, welche Seriendrucktypen in Ihrem Repository zulässig sind.

Limit merge types

  • Die einfache Zusammenführung (keine schnelle Weiterleitung) erstellt einen Seriendruck-Commit im Ziel, dessen Eltern die Ziel- und Quellzweige sind.
  • Der Merge erstellt einen linearen Verlauf mit einem einzelnen Commit in der Zielzweigung mit den Änderungen aus dem Quellzweig. Erfahren Sie mehr über die Zusammenführung von Squash und deren Auswirkungen auf die Verzweigungshistorie.
  • Rebase and fast-forward erstellt einen linearen Verlauf, indem Quell-Commits auf die Zielverzweigung ohne Zusammenführungs-Commit wiedergegeben werden.
  • Rebase with merge commit replays the source commits to the target and also creates a merge commit.

Hinweis

Dieses Feature ist für Azure DevOps Server 2020 und höher verfügbar.

Erzwingen einer Zusammenführungsstrategie

Bewahren Sie einen konsistenten Zweigverlauf auf, indem Sie eine Zusammenführungsstrategie erzwingen, wenn eine Pullanforderung abgeschlossen ist. Wählen Sie eine Seriendruckstrategie aus , und wählen Sie eine Option aus, um die Zusammenführung von Pullanforderungen mithilfe dieser Strategie zu erfordern.

Set merge requirements

  • Kein Schnelldruck – Diese Option führt den Commitverlauf des Quellzweigs zusammen, wenn die Pullanforderung geschlossen wird und einen Merge-Commit in der Zielzweigung erstellt.
  • Squashdruck – Abschließen aller Pullanforderungen mit einem Squashdruck, Erstellen eines einzelnen Commits in der Zielzweige mit den Änderungen aus dem Quellzweig. Erfahren Sie mehr über das Zusammenführen von Squash und wie sie sich auf Ihre Zweiggeschichte auswirkt.

Buildvalidierung

Sie können eine Richtlinie festlegen, die PR-Änderungen erfordert, die erfolgreich erstellt werden müssen, bevor die PR abgeschlossen werden kann. Buildrichtlinien reduzieren Unterbrechungen und halten Ihre Testergebnisse übergeben. Erstellen von Richtlinien helfen auch dann, wenn Sie eine kontinuierliche Integration (CI) in Ihren Entwicklungszweigen verwenden, um Probleme frühzeitig zu erfassen.

Eine Buildüberprüfungsrichtlinie wartet auf einen neuen Build, wenn eine neue PR erstellt wird oder Änderungen an eine vorhandene PR verschoben werden, die auf den Zweig ausgerichtet ist. Die Buildrichtlinie bewertet die Buildergebnisse, um zu ermitteln, ob die PR abgeschlossen werden kann.

Wichtig

Bevor Sie eine Buildüberprüfungsrichtlinie angeben, müssen Sie über eine Buildpipeline verfügen. Wenn Sie keine Pipeline haben, finden Sie unter Erstellen einer Buildpipeline. Wählen Sie den Typ des Builds aus, der ihrem Projekttyp entspricht.

So fügen Sie eine Buildüberprüfungsrichtlinie hinzu

  1. Wählen Sie die Schaltfläche neben der +Buildüberprüfung aus.

    Screenshot that shows the Add button next to Build validation.

  2. Füllen Sie das Formular "Buildrichtlinie festlegen " aus:

    Build policy settings

    • Wählen Sie die Buildpipeline aus.

    • Optional legen Sie einen Pfadfilter fest. Erfahren Sie mehr über Pfadfilter in Verzweigungsrichtlinien .

    • Wählen Sie unter "Trigger" die Option "Automatisch" (wenn der Quellzweig aktualisiert wird) oder "Manuell" aus.

    • Wählen Sie unter "Richtlinienanforderung" die Option "Erforderlich" oder "Optional" aus. Wenn Sie "Erforderlich" auswählen, müssen Builds erfolgreich abgeschlossen werden, um PRs abzuschließen. Wählen Sie Optional aus, um eine Benachrichtigung über den Buildfehler bereitzustellen, aber weiterhin PRs zulassen.

    • Legen Sie einen Buildablauf fest, um sicherzustellen, dass Updates für ihre geschützten Verzweigung keine Änderungen für offene PRs unterbrechen.

      • Sofort beim <Aktualisieren des Verzweigungsnamens>: Diese Option legt den PR-Buildrichtlinienstatus fest, der fehlgeschlagen ist, wenn der Zweig aktualisiert wird und einen Build erneut aufgibt. Diese Einstellung stellt sicher, dass der PR-Build erfolgreich geändert wird, auch wenn sich die geschützten Zweige ändern.

        Diese Option ist am besten für Teams geeignet, deren wichtige Zweigstellen wenige Änderungen aufweisen. Teams in beschäftigten Entwicklungszweigen arbeiten, kann es störend sein, jedes Mal, wenn die Zweigupdates auf einen Build warten.

      • Nach <n> Stunden, wenn der Verzweigungsname> aktualisiert wurde: Diese Option läuft den aktuellen Richtlinienstatus ab, <wenn der geschützte Zweig aktualisiert wird, wenn der übergebene Build älter ist als der Schwellenwert, den Sie eingeben. Diese Option ist ein Kompromiss zwischen immer oder nie erforderlich, wenn der geschützte Zweig aktualisiert wird. Diese Wahl reduziert die Anzahl der Builds, wenn Ihr geschützter Zweig häufig Updates aufweist.

      • Nie: Updates für den geschützten Zweig ändern den Richtlinienstatus nicht. Dieser Wert reduziert die Anzahl der Builds, kann jedoch Probleme beim Abschließen von PRs verursachen, die zuletzt nicht aktualisiert wurden.

    • Geben Sie einen optionalen Anzeigenamen für diese Buildrichtlinie ein. Dieser Name identifiziert die Richtlinie auf der Seite "Branch-Richtlinien ". Wenn Sie keinen Anzeigenamen angeben, verwendet die Richtlinie den Buildpipelinenamen.

  3. Wählen Sie Speichern aus.

Wenn der PR-Besitzer Änderungen angibt, die erfolgreich erstellt wurden, aktualisiert der Richtlinienstatus.

Wenn Sie sofort <beim Aktualisieren des Zweignamens oder nach n Stunden verfügen, wenn der Verzweigungsname>> aktualisiert wurde, wird der Richtlinienstatus aktualisiert, wenn der vorherige Build nicht mehr gültig ist.<><

Hinweis

Dieses Feature steht für Azure DevOps Server 2020 und höherer Versionen zur Verfügung.

Legen Sie eine Richtlinie fest, die Änderungen in einer Pullanforderung erfordert, um erfolgreich mit der geschützten Verzweigung zu erstellen, bevor die Pullanforderung abgeschlossen werden kann. Buildrichtlinien reduzieren Unterbrechungen und halten Ihre Testergebnisse bestehen. Buildrichtlinien helfen auch dann, wenn Sie die kontinuierliche Integration (CI) in Ihren Entwicklungszweigen verwenden, um Probleme frühzeitig abzufangen.

Wenn eine Buildüberprüfungsrichtlinie aktiviert ist, wird ein neuer Build in die Warteschlange gestellt, wenn entweder eine neue Pullanforderung erstellt wird, oder wenn Änderungen an eine vorhandene Pullanforderung für die Verzweigung verschoben werden. Die Buildrichtlinie wertet dann die Ergebnisse des Builds aus, um zu ermitteln, ob die Pullanforderung abgeschlossen werden kann.

Wichtig

Bevor Sie eine Buildüberprüfungsrichtlinie angeben, müssen Sie über eine Builddefinition verfügen. Wenn Sie keines haben, lesen Sie " Erstellen einer Builddefinition ", und wählen Sie den Typ des Builds aus, der ihrem Projekttyp entspricht.

Add build policy

Wählen Sie "Buildrichtlinie hinzufügen" aus, und konfigurieren Sie Ihre Optionen in der Buildrichtlinie hinzufügen.

Build policy settings

  1. Wählen Sie die Builddefinition aus.

  2. Wählen Sie den Typ des Triggers aus. Wählen Sie "Automatisch" (immer dann, wenn der Quellzweig aktualisiert wird) oder "Manuell" aus.

  3. Wählen Sie die Richtlinienanforderung aus. Wenn Sie "Erforderlich" auswählen, müssen Builds erfolgreich abgeschlossen werden, um Pullanforderungen abzuschließen. Wählen Sie Optional aus, um eine Benachrichtigung über den Buildfehler bereitzustellen, aber weiterhin die Ausführung von Pullanforderungen zuzulassen.

  4. Legen Sie einen Buildablauf fest, um sicherzustellen, dass Aktualisierungen ihrer geschützten Verzweigung keine Änderungen für offene Pullanforderungen unterbrechen.

    • Sofort beim branch name Aktualisieren: Diese Option legt den Buildrichtlinienstatus in einer Pullanforderung fest, die beim Aktualisieren der geschützten Verzweigung fehlgeschlagen ist. Aktualisieren Sie einen Build, um den Buildstatus zu aktualisieren. Diese Einstellung stellt sicher, dass die Änderungen an Pullanforderungen erfolgreich erstellt werden, auch wenn sich die geschützten Verzweigungsänderungen ändern. Diese Option eignet sich am besten für Teams mit wichtigen Zweigstellen mit einer geringeren Anzahl von Änderungen. Teams in beschäftigten Entwicklungszweigen arbeiten, kann es störend sein, bis ein Build abgeschlossen wird, wenn die geschützte Verzweigung aktualisiert wird.
    • Wenn n Stunden branch name aktualisiert wurden: Diese Option läuft den aktuellen Richtlinienstatus ab, wenn die geschützten Verzweigungen aktualisiert werden, wenn der übergebende Build älter als der eingegebene Schwellenwert ist. Diese Option ist eine Kompromittierung zwischen jedem Build, wenn die geschützten Verzweigungsupdates aktualisiert werden und niemals einen benötigen. Diese Wahl eignet sich hervorragend zum Verringern der Anzahl von Builds, wenn Ihre geschützte Verzweigung häufige Updates aufweist.
    • Nie: Aktualisierungen der geschützten Verzweigung ändern den Richtlinienstatus nicht. Dieser Wert reduziert die Anzahl der Builds für Ihre Verzweigung. Es kann Probleme verursachen, wenn Pullanforderungen geschlossen werden, die kürzlich nicht aktualisiert wurden.
  5. Geben Sie einen optionalen Anzeigenamen für diese Buildrichtlinie ein. Dieser Name identifiziert die Richtlinie auf der Seite "Branch-Richtlinien ". Wenn Sie keinen Anzeigenamen angeben, verwendet die Richtlinie den Builddefinitionsnamen.

  6. Wählen Sie Speichern aus.

Wenn der Besitzer Änderungen angibt, die erfolgreich erstellt wurden, wird der Richtlinienstatus aktualisiert. Wenn Sie über eine sofortige Aktualisierung oder nach branch name Stundenverfügen, wenn branch name die Buildrichtlinie aktualisiert wurde, wird der Richtlinienstatus aktualisiert, wenn die geschützte Verzweigung aktualisiert wird, wenn der neueste Build nicht mehr gültig ist.n

Statusüberprüfungen

Externe Dienste können die PR-Status-API verwenden, um detaillierten Status für Ihre PRs zu veröffentlichen. Die Zweigrichtlinie für zusätzliche Dienste ermöglicht es diesen Drittanbieterdiensten, an dem PR-Workflow teilzunehmen und Richtlinienanforderungen einzurichten.

Require external services to approve

Anweisungen zum Konfigurieren dieser Richtlinie finden Sie unter Konfigurieren einer Verzweigungsrichtlinie für einen externen Dienst.

Genehmigung von externen Diensten anfordern

Externe Dienste können die PR-Status-API verwenden, um detaillierten Status für Ihre PRs zu veröffentlichen. Die Zweigrichtlinie für zusätzliche Dienste bietet die Möglichkeit für diese Drittanbieterdienste, an dem PR-Workflow teilzunehmen und Richtlinienanforderungen einzurichten.

Require external services to approve

Anweisungen zum Konfigurieren dieser Richtlinie finden Sie unter Konfigurieren einer Verzweigungsrichtlinie für einen externen Dienst.

Automatisches Einschließen von Codeprüfern

Sie können Prüfer automatisch zum Abrufen von Anforderungen hinzufügen, die Dateien in bestimmten Verzeichnissen und Dateien ändern, oder zu allen Pullanforderungen in einem Repository.

  1. Wählen Sie die + Schaltfläche neben automatisch eingeschlossenen Prüfern aus.

    Screenshot that shows Add required reviewers.

  2. Füllen Sie den Bildschirm " Neue Prüferrichtlinie hinzufügen " aus.

    Screenshot that shows the Add new reviewer policy screen.

    • Fügen Sie Personen und Gruppen zu Prüfern hinzu.

    • Wählen Sie "Optional " aus, wenn Sie Prüfer automatisch hinzufügen möchten, aber nicht die Genehmigung benötigen, um die Pullanforderung abzuschließen.

      Oder wählen Sie " Erforderlich " aus, wenn Pullanforderungen erst abgeschlossen werden können, wenn:

      • Jede Person, die als Prüfer hinzugefügt wurde, genehmigt die Änderungen.
      • Mindestens eine Person in jeder Gruppe, die als Prüfer hinzugefügt wurde, genehmigt die Änderungen.
      • Wenn nur eine Gruppe erforderlich ist, ist die Mindestanzahl der Mitglieder, die Sie angeben, die Änderungen genehmigen.
    • Geben Sie die Dateien und Ordner an, die die automatisch eingeschlossenen Prüfer erfordern. Lassen Sie dieses Feld leer, damit die Prüfer für alle Pullanforderungen in der Verzweigung erforderlich sind.

    • Wählen Sie "Zulassen" aus, um ihre eigenen Änderungen zu genehmigen , wenn Pullanforderungsbesitzer abstimmen können, um ihre eigenen Pullanforderungen zu genehmigen, um diese Richtlinie zu erfüllen.

    • Sie können eine Aktivitätsfeednachricht angeben, die in der Pullanforderung angezeigt wird.

  3. Wählen Sie Speichern aus.

Hinweis

Dieses Feature ist für Azure DevOps Server 2020 und höher verfügbar.

Wählen Sie Prüfer für bestimmte Verzeichnisse und Dateien in Ihrem Repository aus.

Enter the path and required reviewers

Diese Prüfer werden automatisch zum Pull-Anforderungen hinzugefügt, die Dateien entlang dieser Pfade ändern. Sie können auch eine Aktivitätsfeednachricht angeben.

Add automatic reviewers

Wenn Sie "Erforderlich" auswählen, kann die Pullanforderung erst abgeschlossen werden, wenn Sie Folgendes ausführen:

  • Jeder Benutzer, der als Prüfer für den Pfad hinzugefügt wurde, genehmigt die Änderungen.
  • Mindestens eine Person in jeder Gruppe, die dem Pfad hinzugefügt wurde, genehmigt die Änderungen.
  • Die Anzahl der Prüfer, die für jede Gruppe angegeben wurden, die dem Pfad hinzugefügt wurde, genehmigt die Änderungen.

Required reviewers are automatically added

Wählen Sie "Optional " aus, wenn Sie Prüfer automatisch hinzufügen möchten, aber nicht die Genehmigung benötigen, um die Pullanforderung abzuschließen.

Sie können Anforderer ihre eigenen Änderungen genehmigen.

Wenn alle erforderlichen Prüfer den Code genehmigen, können Sie die Pullanforderung abschließen.

Pull request status shows that reviewers have approved

Umgehen von Verzweigungsrichtlinien

In einigen Fällen müssen Sie richtlinienanforderungen möglicherweise umgehen. Mithilfe von Umgehungsberechtigungen können Sie Änderungen direkt an eine Verzweigung übertragen oder Pullanforderungen abschließen, die keine Verzweigungsrichtlinien erfüllen. Sie können einem Benutzer oder einer Gruppe Umgehungsberechtigungen erteilen. Sie können Berechtigungen für ein gesamtes Projekt, ein Repo oder eine einzelne Verzweigung umgehen.

Zwei Berechtigungen ermöglichen Benutzern die Umgehung der Verzweigungsrichtlinie auf unterschiedliche Weise:

  • Umgehen von Richtlinien beim Abschließen von Pullanforderungen gilt nur für den Abschluss der Pullanforderung. Benutzer mit dieser Berechtigung können Pullanforderungen abschließen, auch wenn die Pullanforderungen keine Richtlinien erfüllen.

  • Umgehen von Richtlinien beim Pushen auf Pushes von lokalen Repositorys und Bearbeitungen im Web. Benutzer mit dieser Berechtigung können Änderungen direkt an geschützte Verzweigungen übertragen, ohne richtlinienanforderungen zu erfüllen.

Screenshot showing bypass policy enforcement permissions.

Weitere Informationen zum Verwalten dieser Berechtigungen finden Sie unter Git-Berechtigungen.

In TFS 2015 bis TFS 2018 Update 2 können Benutzer mit dieser Berechtigung die folgenden Aktionen ausführen:

  • Wenn Sie eine Pullanforderung abschließen, müssen Sie Richtlinien außer Kraft setzen und eine Pullanforderung abschließen, auch wenn die aktuelle Gruppe von Verzweigungsrichtlinien nicht erfüllt ist.
  • Pushen Sie direkt an eine Verzweigung, auch wenn diese Verzweigungsrichtlinien festgelegt sind. Beachten Sie, dass wenn ein Benutzer mit dieser Berechtigung einen Push vornimmt, der Verzweigungsrichtlinie außer Kraft setzen würde, wird die Verzweigungsrichtlinie automatisch ohne Opt-In-Schritt oder Warnung umgangen.

Wichtig

Verwenden Sie Vorsicht, wenn Sie Richtlinien umgehen können, insbesondere auf Der Ebene des Repositorys und der Projektebene. Richtlinien sind ein Eckpfeiler der sicheren und konformen Quellcodeverwaltung.

Pfadfilter

Mehrere Verzweigungsrichtlinien bieten Pfadfilter. Wenn ein Pfadfilter festgelegt ist, gilt die Richtlinie nur für Dateien, die dem Pfadfilter entsprechen. Wenn Sie dieses Feld leer lassen, bedeutet dies, dass die Richtlinie für alle Dateien in der Verzweigung gilt.

Sie können absolute Pfade und Wildcards angeben. Beispiele:

  • /WebApp/Models/Data.cs
  • /WebApp/*
  • *.cs

Sie können mehrere Pfade als ; Trennzeichen angeben. Beispiel:

  • /WebApp/Models/Data.cs;ClientApp/Models/Data.cs

Pfade, die ! präfixiert sind, werden ausgeschlossen, wenn sie andernfalls eingeschlossen werden. Beispiel:

  • /WebApp/*;!/WebApp/Tests/* enthält alle Dateien außer /WebApp Dateien in /WebApp/Tests
  • !/WebApp/Tests/* Gibt keine Dateien an, da nichts zuerst enthalten ist

Die Reihenfolge der Filter ist signifikant. Filter werden von links nach rechts angewendet.

Fragen und Antworten (Q & A)

Kann ich Änderungen direkt an Verzweigungen mit Verzweigungsrichtlinien pushen?

Sie können Keine Änderungen direkt an Verzweigungen übertragen, die über erforderliche Verzweigungsrichtlinien verfügen, es sei denn, Sie verfügen über Berechtigungen zum Umgehen von Verzweigungsrichtlinien. Änderungen an diesen Verzweigungen können nur über Pullanforderungen vorgenommen werden. Sie können Änderungen direkt an Verzweigungen mit optionalen Verzweigungsrichtlinien übertragen, wenn keine erforderlichen Verzweigungsrichtlinien vorhanden sind.

Was ist autovervollständigen?

Pull-Anforderungen in Verzweigungen mit konfigurierten Verzweigungsrichtlinien weisen die Schaltfläche " Autovervollständigen festlegen " auf. Wählen Sie diese Option aus, um die Pullanforderung automatisch abzuschließen , sobald sie alle Richtlinien erfüllt. AutoVervollständigen ist nützlich, wenn Sie keine Probleme mit Ihren Änderungen erwarten.

Wann werden Verzweigungsrichtlinienbedingungen überprüft?

Verzweigungsrichtlinien werden auf dem Server neu bewertet, wenn Pull-Anforderungsbesitzer Änderungen pushen und wenn Prüfer abstimmen. Wenn eine Richtlinie einen Build auslöst, wird der Buildstatus so festgelegt, dass er wartet, bis der Build abgeschlossen ist.

Kann ich XAML-Builddefinitionen in Verzweigungsrichtlinien verwenden?

Nein, Sie können keine XAML-Builddefinitionen in Verzweigungsrichtlinien verwenden.

Welche Wildcardzeichen kann ich für erforderliche Codeprüfer verwenden?

* Einzelne Sternchen entsprechen einer beliebigen Anzahl von Zeichen, einschließlich Schrägstrichen und Rückstrichen /\. Fragezeichen ? entsprechen jedem einzelnen Zeichen.

Beispiele:

  • *.sql entspricht allen Dateien mit der SQL-Erweiterung .
  • /ConsoleApplication/* entspricht allen Dateien unter dem Ordner " ConsoleApplication".
  • /.gitattributes entspricht der Gitattributes-Datei im Stammverzeichnis des Repositorys.
  • */.gitignore entspricht einer gitignore-Datei im Repo.

Sind die erforderlichen Codeprüferpfade Groß-/Kleinschreibung beachtet?

Nein, Verzweigungsrichtlinien sind bei der Groß-/Kleinschreibung nicht beachtet.

Wie kann ich mehrere Benutzer als erforderliche Prüfer konfigurieren, aber nur eine davon muss genehmigt werden?

Sie können die Benutzer zu einer Gruppe hinzufügen und dann die Gruppe als Prüfer hinzufügen. Jedes Mitglied der Gruppe kann dann genehmigen, um die Richtlinienanforderung zu erfüllen.

Ich habe Umgehungsrichtlinienberechtigungen. Warum wird weiterhin Richtlinienfehler im Pullanforderungsstatus angezeigt?

Konfigurierte Richtlinien werden immer für Pullanforderungsänderungen ausgewertet. Für Benutzer mit Umgehungsrichtlinienberechtigungen ist der gemeldete Richtlinienstatus nur eine Empfehlung. Wenn der Benutzer mit Umgehungsberechtigungen genehmigt wird, blockiert der Fehlerstatus den Abschluss der Pullanforderung nicht.

Warum kann ich meine eigenen Pullanforderungen nicht abschließen, wenn "Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können" festgelegt ist?

Sowohl die Richtlinie "Prüfer anfordern" als auch die Richtlinie " Automatisch eingeschlossene Prüfer " verfügen über Optionen zum Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können. In jeder Richtlinie gilt die Einstellung nur für diese Richtlinie. Die Einstellung wirkt sich nicht auf die andere Richtlinie aus.

Ihre Pullanforderung hat beispielsweise die folgenden Richtlinien festgelegt:

  • Erfordert mindestens eine Anzahl von Prüfern , die mindestens einen Prüfer benötigen.
  • Automatisch eingeschlossene Prüfer benötigen Sie oder ein Team, in dem Sie sich als Prüfer befinden.
  • Automatisch eingeschlossene Prüfer haben Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können.
  • Erfordert eine Mindestanzahl von Prüfern , die keine Zulassenden haben, ihre eigenen Änderungen zu genehmigen .

In diesem Fall erfüllt Ihre Genehmigung automatisch eingeschlossene Prüfer, aber keine Mindestanzahl von Prüfern, sodass Sie die Pullanforderung nicht abschließen können.

Möglicherweise gibt es auch andere Richtlinien, z. B. das Verbieten des letzten Pushers, ihre eigenen Änderungen zu genehmigen, die verhindern, dass Sie Ihre eigenen Änderungen genehmigen, auch wenn Zulassen von Antragstellern, ihre eigenen Änderungen zu genehmigen , festgelegt ist.