Esercizio - Aggiungere una regola per richiedere una revisione
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
- In GitHub passare al repository del progetto Space Game.
- Nella parte superiore della pagina selezionare Impostazioni.
- Nel menu a sinistra selezionare Rami.
- Assicurarsi che principale sia selezionato come ramo predefinito.
- Selezionare Aggiungi regola di protezione ramo.
- In Criterio per nomi di ramo immettere principale.
- Selezionare la casella di controllo Richiedi una richiesta pull prima di unire.
- Selezionare la casella di controllo Richiedi approvazioni.
- Mantenere il valore delle Revisioni di approvazione richieste su 1.
- Seleziona Crea.
- 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".
In Visual Studio Code passare al terminale.
Per eseguire il checkout del ramo
main
eseguiregit checkout
:git checkout main
Per eseguire il pull delle ultime modifiche apportate al ramo
main
da GitHub, eseguiregit 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.
Per correggere l'errore, creare ed eseguire il checkout di un ramo:
git checkout -B bugfix/home-page-typo
In Esplora file aprire Index.cshtml.
Individuare l'errore:
<p>Welcome to the oficial Space Game site!</p>
Modificare la riga per correggere l'errore:
<p>Welcome to the official Space Game site!</p>
Salva il file.
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.
Eseguire il push del ramo in GitHub.
git push origin bugfix/home-page-typo
Testare la regola
In GitHub individuare e selezionare il ramo
bugfix/home-page-typo
.Per avviare la richiesta pull, selezionare Collaborazione e quindi Apri richiesta pull.
Impostare il repository con fork come repository di base.
Selezionare Crea richiesta pull.
Come è possibile vedere, è necessaria una revisione umana prima di poter unire la modifica.
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.
Selezionare la casella di controllo Unisci senza attendere il rispetto dei requisiti (ignora le protezioni del ramo) e quindi selezionare Unisci richiesta pull.
Selezionare Confirm merge.
La modifica è stata unita.
Per eliminare il ramo
bugfix/home-page-typo
, selezionare Elimina ramo.