Übung: Hinzufügen einer Regel, um einen Review zu erfordern

Abgeschlossen

In dieser Lerneinheit richten Sie eine Regel auf GitHub ein, die eine*n Reviewer*in erfordert, um Änderungen zu genehmigen, bevor sie in den main-Branch gemergt werden können. Als Bonus können Sie auch den Schreibfehler auf der Startseite der Space Game-Website korrigieren.

Derzeit erlaubt das Team allen Benutzern, die einen Pull Request ausgeben, den Code in den main-Branch zu mergen. Da kein Review erforderlich ist, ist es möglich, dass sich falscher oder instabiler Code einschleicht.

Andy beschließt, dass er dem Pull Request eine Überprüfung in Form eines zweiten Augenpaars hinzufügen möchte. Er möchte GitHub so einrichten, dass ein anderer Benutzer als der Autor des Pull Requests den Code vor dem Mergen überprüfen muss. Sehen wir uns das einmal genauer an.

Andy macht sich auf die Suche nach Mara und findet sie an ihrem Schreibtisch, wo sie arbeitet und mit dem Kopf zur Musik in ihren Kopfhörern wippt.

Andy: Mara, ich möchte mit Dir über etwas sprechen.

Mara sieht von ihrer Arbeit auf.

Mara: Womit kann ich Dir helfen?

Andy: Mehrere kleine Fehler machen sich im Build bemerkbar. Gerade heute ist auf der Startseite ein Schreibfehler aufgetreten. Amita verbringt zu viel Zeit mit diesen Dingen. Wir müssen solche Fehler aufhalten, bevor sie in dem main-Branch gelangen. Wir benötigen vor der Genehmigung des Pull Requests ein weiteres Augenpaar für den Code.

Mara: Das kann ich einrichten. In GitHub gibt es eine Möglichkeit, sicherzustellen, dass kein Pull Request gemergt wird, bevor eine andere Person ihn überprüft und genehmigt hat.

Einrichten von Genehmigungen

In diesem Abschnitt richten Sie eine Regel auf GitHub ein, die mindestens einen Reviewer erfordert, um einen Pull Request zu genehmigen, bevor er in den main-Branch gemergt werden kann. Sie überprüfen dann, ob die Regel funktioniert, indem Sie eine Korrektur für den Schreibfehler pushen, der Mara zuvor unterlaufen ist.

Hinzufügen der Regel

  1. Navigieren Sie in GitHub zu Ihrem Space Game-Projektrepository.
  2. Wählen Sie oben auf der Seite die Registerkarte Settings (Einstellungen) aus.
  3. Wählen Sie im linken Menü Verzweigungen aus.
  4. Stellen Sie sicher, dass main als Standardbranch ausgewählt ist.
  5. Wählen Sie Add branch protection rule (Branchschutzregel hinzufügen) aus.
  6. Geben Sie unter Branch name pattern (Branchnamensmuster) den Namen main ein.
  7. Aktivieren Sie das Kontrollkästchen Require a pull request before merging (Pull Request vor dem Mergen erfordern).
  8. Aktivieren Sie das Kontrollkästchen Genehmigung anfordern.
  9. Behalten Sie den Wert 1 für Required approving reviews (Erforderliche genehmigende Reviews) bei.
  10. Wählen Sie Erstellen aus.
  11. Klicken Sie auf Save changes (Änderungen speichern).

Hinweis

Am unteren Rand der Auswahlliste finden Sie eine Option mit dem Namen Include Administrators (Administratoren einschließen). Diese Option erfordert, dass Repositoryadministratoren die Regel befolgen. Sie legen diese Option nicht fest, eil Sie Administrator Ihres Repositorys sind und kein anderer Reviewer vorhanden ist. In dieser Lerneinheit überprüfen und genehmigen Sie zu Lernzwecken Ihre eigenen Pull Requests.

Übermitteln der Korrektur

In diesem Abschnitt übermitteln Sie eine Korrektur für den Schreibfehler auf der Startseite. Erinnern Sie sich daran, dass das Wort „official“ als „oficial“ falsch geschrieben ist.

Screenshot of the Space Game website showing a typing error.

  1. Rufen Sie in Visual Studio Code das Terminal auf.

  2. Zum Auschecken des main-Branches führen Sie git checkout aus:

    git checkout main
    
  3. Führen Sie git pull aus, um die neuesten Änderungen in den main-Branch zu pullen:

    git pull origin main
    

    Sie können sehen, dass zwei Dateien aktualisiert werden:

    • README.md: Enthält den Markdowncode zum Anzeigen des Buildbadges.
    • Index.cshtml: Enthält den aktualisierten Text der Startseite, die den Schreibfehler enthält.
  4. Erstellen Sie einen Branch, und checken Sie ihn aus, um den Fehler zu korrigieren:

    git checkout -B bugfix/home-page-typo
    
  5. Öffnen Sie im Datei-Explorer die Datei Index. cshtml.

  6. Suchen Sie den Fehler:

    <p>Welcome to the oficial Space Game site!</p>
    
  7. Ändern Sie die Zeile, um den Fehler zu korrigieren:

    <p>Welcome to the official Space Game site!</p>
    
  8. Speichern Sie die Datei .

  9. Stagen und committen Sie die Änderung im Terminal:

    git status
    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    git commit -m "Fix typing error on the home page"
    

    In der Praxis würden Sie die Website normalerweise lokal erstellen und ausführen, um die Änderung zu überprüfen. In dieser Einheit lassen wir diesen Schritt der Kürze halber aus.

  10. Pushen Sie den Branch in GitHub.

    git push origin bugfix/home-page-typo
    

Testen der Regel

  1. Suchen Sie in GitHub den bugfix/home-page-typo-Branch, und wählen Sie ihn aus.

    Screenshot of GitHub showing the recently pushed branch.

  2. Zum Starten Ihres Pull Requests müssen Sie auf Contribute (Beitragen) und dann auf Open pull request (Pull Request öffnen) klicken.

  3. Legen Sie Ihr geforktes Repository als Basisrepository fest.

    Screenshot of GitHub confirming that the branch can be merged.

  4. Klicken Sie auf Pull Request erstellen.

    Sie können sehen, dass ein Review durch einen Menschen erforderlich ist, bevor Sie die Änderung mergen können.

    Screenshot of a pull request on GitHub showing that a review is required in order to merge.

    In der Praxis würden Sie den Review einem Teammitglied zuweisen, um die Änderung zu überprüfen. In dieser Einheit können Sie zu Lernzwecken ihren eigenen Pull Request mergen.

  5. Aktivieren Sie das Kontrollkästchen Zusammenführen, ohne darauf zu warten, dass Anforderungen erfüllt werden (Umgehung von Verzweigungsschutz), und aktivieren Sie dann Zusammenführen-Pullanforderung.

  6. Wählen Sie Merge bestätigen aus.

    Ihre Änderung wird gemergt.

  7. Zum Löschen des bugfix/home-page-typo-Branches wählen Sie Delete Branch (Branch löschen) aus.