freeCodeCamp/docs/i18n/Italian/how-to-open-a-pull-request.md

7.1 KiB

Come aprire una richiesta Pull (PR)

Una pull request consente di inviare modifiche dal tuo fork su GitHub al repository principale di freeCodeCamp.org. Una volta che hai fatto delle modifiche al codice o sfide di codifica dovresti seguire queste linee guida per inviare una PR.

Preparare un buon titolo PR

Si consiglia di utilizzare titolo convenzionale e messaggi per i commit e pull request. La convenzione ha il seguente formato:

<type>([ambito facoltativo(i)]): <description>

Per esempio:

fix(learn): test per il do...while loop challenge

Quando si apre una Pull Request(PR), è possibile utilizzare il sottostante per determinare il tipo, l'ambito (opzionale) e la descrizione.

Tipo:

Tipo Quando selezionare
fix Funzionalità modificata o aggiornata/migliorata, test, verbiage di una lezione, ecc.
feat Solo se si aggiungono nuove funzionalità, test, ecc.
chore Modifiche che non sono correlate a codice, test o verbiage di una lezione.
docs Modifiche alla directory /docs o alle linee guida contributive, ecc.

Ampiezza:

È possibile selezionare un ambito da questo elenco di etichette.

Descrizione:

Mantenere breve (meno di 30 caratteri) e semplice, è possibile aggiungere ulteriori informazioni nella casella di descrizione PR e commenti.

Alcuni esempi di buoni titoli PRS sarebbero:

  • fix(a11y): miglioramento del contrasto della barra di ricerca
  • feat: aggiungi altri test alle sfide html e css
  • fix(api,client): prevenire gli errori CORS nella presentazione del modulo
  • docs(i18n): traduzione cinese della configurazione locale

Proporre una richiesta Pull

  1. Una volta che le modifiche sono state effettuate, ti verrà chiesto di creare una pull request sulla pagina GitHub della tua fork.

    Immagine - Confronta il prompt delle richieste di pull su GitHub

  2. Per impostazione predefinita, tutte le richieste di pull dovrebbero essere contro il ramo principale freeCodeCamp, master.

    Assicurati che la tua Forchetta di Base sia impostata su freeCodeCamp/freeCodeCamp durante il sollevamento di una richiesta di estrazione.

    Immagine - Confrontare le forcelle quando si effettua una pull request

  3. Invia la richiesta di pull dal tuo ramo al ramo master di freeCodeCamp.

  4. Nel corpo del vostro PR includere un riepilogo più dettagliato delle modifiche apportate e perché.

    • Sarai presentato con un modello pull request. Questa è una lista di controllo che si sarebbe dovuto seguire prima di aprire la pull request.

    • Compila i dettagli come ritieni più adatti. Queste informazioni saranno esaminate e i revisori decideranno se la tua pull request è accettata.

    • Se la PR ha lo scopo di affrontare un problema GitHub esistente, alla fine del corpo di descrizione della PR, use the keyword Closes with the issue number to automatically close that issue if the PR is accepted and unged.

      Esempio: Chiude #123 chiuderà il numero 123

  5. Indicare se si è testato su una copia locale del sito o no.

    Questo è molto importante quando si apportano modifiche che non sono solo modifiche al contenuto del testo come la documentazione o una descrizione della sfida. Esempi di cambiamenti che necessitano di test locali includono JavaScript, CSS, o HTML che potrebbero cambiare la funzionalità o il layout di una pagina.

Feedback sulle richieste pull

Congratulazioni! 🎉 per aver fatto una PR e grazie mille per aver impiegato il tempo per contribuire.

I nostri moderatori ora daranno un'occhiata e ti lasceranno un feedback. Si prega di essere pazienti con i colleghi moderatori e rispettare il loro tempo. Tutte le richieste di pull sono riviste a tempo debito.

Se hai bisogno di assistenza per favore discuta nella chat room dei collaboratori, siamo più che felici di aiutarti.

[!SUGGERIMENTO] Se vuoi contribuire a più richieste di pull, ti consigliamo di leggere le linee guida di apportare modifiche e sincronizzare per evitare di dover eliminare il fork.

Conflitti su una pull request

I conflitti possono sorgere perché molti contributori lavorano sul repository e le modifiche possono rompere il PR che è in attesa di una revisione e di una fusione.

Più spesso non si può richiedere un rebase, perché schiacciamo tutti i commit tuttavia se è richiesto un rebase qui è quello che si dovrebbe fare.

Per le solite correzioni di bug e funzionalità

Quando si sta lavorando su bug regolari e funzionalità sul nostro ramo masterdi sviluppo, si è in grado di fare una semplice base:

  1. Ricostruisci la tua copia locale:

    git checkout <pr-branch>
    git pull --rebase upstream master
    
  2. Risolvi eventuali conflitti e aggiungi / modifica i commit

    # O
    git add .
    git commit -m "chore: risolvere i conflitti"
    
    # O
    git add .
    git commit --amend --no-edit
    
  3. Ritorna le modifiche al PR

    git push --force origin <pr-branch>
    

Per il prossimo curriculum e caratteristiche

Quando stai lavorando su funzionalità per il nostro prossimo curriculum prossimo-* rami, hai fatto una selezione di ciliegie:

  1. Assicurati che il tuo upstream sia sincronizzato con il tuo locale:

    git checkout master
    git fetch --all --prune
    git checkout next-python-projects
    git reset --hard upstream/next-python-projects
    
  2. Prendere backup

    a. Eliminare il ramo locale dopo aver effettuato un backup (se lo hai ancora localmente):

    git checkout <pr-branch-name>
    
    # example:
    # git checkout feat/add-numpy-video-question
    
    git checkout -b <backup-branch-name>
    
    # example:
    # git checkout -b backup-feat/add-numpy-video-question
    
    git branch -D <pr-branch-name>
    

    b. O solo un backup del ramo pr (se non lo hai localmente):

    git checkout -b <backup-branch-name> origin/<pr-branch-name>
    
    # esempio:
    # git checkout -b backup-feat/add-numpy-video-question origin/feat/add-numpy-video-question
    
  3. Inizia con una lastra pulita:

    git checkout -b <pr-branch-name> next-python-projects
    git cherry-pick <commit-hash>
    
  4. Risolvere eventuali conflitti e pulire, installare test di esecuzione

    npm run clean
    
    npm ci
    npm run test:curriculum --superblock=<superblock-name>
    
    # example:
    
    # npm run test:curriculum --superblock=python-for-all
    
    
  5. Se tutto sembra una buona spinta indietro alla PR

    git push --force origin <pr-branch-name>