Esercizio - Aggiungere una regola per richiedere una revisione

Completato

In questa unità si configurerà una regola in GitHub che richiede a un revisore di approvare le modifiche prima di eseguirne il merge nel ramo main. In aggiunta, si correggerà anche l'errore di digitazione nella home page del sito Web di Space Game.

Attualmente, il team consente a chiunque esegue una richiesta pull di unire il codice nel ramo main. Poiché non è richiesta alcuna revisione, è possibile che possa insinuarsi un codice non corretto o instabile.

Andy decide di aggiungere un controllo alla richiesta pull sotto forma di un altro paio di occhi. Vuole configurare GitHub in modo da richiedere a un utente diverso dall'autore della richiesta pull di esaminare il codice prima di eseguirne il merge. Vediamo come eseguire questa operazione.

Andy si dirige da Mara e la trova intenta a lavorare alla scrivania mentre ascolta musica con gli auricolari.

Andy: Mara, vorrei parlarti di una cosa.

Mara alza lo sguardo.

Mara: Come posso aiutarti?

Andy: Alcuni piccoli errori stanno arrivando fino alla compilazione. Proprio oggi è emerso un errore di digitazione nella home page. Amita dedica troppo tempo a questi errori. Dobbiamo bloccarli prima che passino sul ramo main. Prima di approvare la richiesta pull è necessario che il codice sia controllato da qualcun altro.

Mara: So come fare. In GitHub è disponibile un modo per assicurarsi che nessuna richiesta pull venga sottoposta a merge prima che qualcun altro l'abbia esaminata e approvata.

Configurare le approvazioni

In questa sezione verrà configurata una regola in GitHub che richieda ad almeno un revisore di approvare una richiesta pull prima che sia possibile eseguirne il merge nel ramo main. Si verificherà quindi che la regola funzioni eseguendo il push di un aggiornamento per l'errore di digitazione che Mara ha fatto in precedenza.

Aggiungere la regola

  1. In GitHub passare al repository del progetto Space Game.
  2. Nella parte superiore della pagina selezionare Impostazioni.
  3. Nel menu a sinistra selezionare Rami.
  4. Assicurarsi che principale sia selezionato come ramo predefinito.
  5. Selezionare Aggiungi regola di protezione ramo.
  6. In Criterio per nomi di ramo immettere principale.
  7. Selezionare la casella di controllo Richiedi una richiesta pull prima di unire.
  8. Selezionare la casella di controllo Richiedi approvazioni.
  9. Mantenere il valore delle Revisioni di approvazione richieste su 1.
  10. Seleziona Crea.
  11. Seleziona Salva modifiche.

Nota

Nella parte inferiore dell'elenco di scelte è presente un'opzione denominata Includi amministratori. Per questa opzione è necessario che gli amministratori del repository seguano la regola. Non viene impostata perché si è un amministratore del repository e non è disponibile un altro revisore. In questa unità, ai fini dell'apprendimento, si esamineranno e approveranno le proprie richieste pull.

Inviare la correzione

In questa sezione si invierà una correzione per l'errore di digitazione nella home page. Tenere presente che la parola "official" è stata digitata in modo errato come "oficial".

Screenshot of the Space Game website showing a typing error.

  1. In Visual Studio Code passare al terminale.

  2. Per eseguire il checkout del ramo main eseguire git checkout:

    git checkout main
    
  3. Per eseguire il pull delle ultime modifiche apportate al ramo main da GitHub, eseguire git pull:

    git pull origin main
    

    È possibile osservare che sono stati aggiornati due file:

    • README.md: contiene il codice Markdown per la visualizzazione della notifica di compilazione.
    • Index.cshtml: contiene il testo della home page aggiornato, che include l'errore di digitazione.
  4. Per correggere l'errore, creare ed eseguire il checkout di un ramo:

    git checkout -B bugfix/home-page-typo
    
  5. In Esplora file aprire Index.cshtml.

  6. Individuare l'errore:

    <p>Welcome to the oficial Space Game site!</p>
    
  7. Modificare la riga per correggere l'errore:

    <p>Welcome to the official Space Game site!</p>
    
  8. Salva il file.

  9. Nel terminale preparare per il commit la modifica ed eseguirlo:

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

    Nella pratica, di norma si compila ed esegue il sito in locale per verificare la modifica. In questa unità, per motivi di brevità, è consigliabile ignorare questo passaggio.

  10. Eseguire il push del ramo in GitHub.

    git push origin bugfix/home-page-typo
    

Testare la regola

  1. In GitHub individuare e selezionare il ramo bugfix/home-page-typo.

    Screenshot of GitHub showing the recently pushed branch.

  2. Per avviare la richiesta pull, selezionare Collaborazione e quindi Apri richiesta pull.

  3. Impostare il repository con fork come repository di base.

    Screenshot of GitHub confirming that the branch can be merged.

  4. Selezionare Crea richiesta pull.

    Come è possibile vedere, è necessaria una revisione umana prima di poter unire la modifica.

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

    In pratica, è necessario assegnare un membro del team per esaminare la modifica. In questa unità è possibile unire una richiesta pull personalizzata a scopo di apprendimento.

  5. Selezionare la casella di controllo Unisci senza attendere il rispetto dei requisiti (ignora le protezioni del ramo) e quindi selezionare Unisci richiesta pull.

  6. Selezionare Confirm merge.

    La modifica è stata unita.

  7. Per eliminare il ramo bugfix/home-page-typo, selezionare Elimina ramo.