Contribuire ai progetti GitHub (richiesta pull di Git per principianti)

Quindi sei incappato in un progetto su GitHub e vorresti contribuire a quel progetto. Ma come? Non ti consideri uno sviluppatore e la terminologia di controllo delle fonti ti è estranea. Non preoccuparti. La risposta è una richiesta di pull di Git (PR).

In questo tutorial, imparerai come contribuire a un progetto GitHub con una richiesta di pull di Git per inserire il tuo codice in un repository GitHub (repo).

Contribuire a un progetto GitHub

Probabilmente hai già visto almeno un progetto GitHub in cui senti di poter aiutare a correggere alcuni bug, aggiornare una documentazione o aggiungere una nuova funzionalità. Vuoi partecipare ma, come molti altri professionisti IT, non ti consideri un sviluppatore software.

Git e GitHub sono tradizionalmente stati esclusivamente nello spazio di sviluppo. Ma con sempre più infrastrutture che si spostano sul cloud e con l’arrivo degli strumenti di Infrastructure as Code, gli amministratori di sistema hanno iniziato a esplorare di più GitHub.

Molti professionisti IT non sanno da dove iniziare. Quindi, in questo articolo, imparerai da zero come contribuire con il codice a un progetto GitHub esistente con le richieste di pull.

Cos’è una Pull Request?

Quando hai un codice/fix che aggiungerà più funzionalità o darà più valore a un progetto o repository esistente su GitHub, puoi creare una pull request.

Anche se una pull request è un’azione singola, il risultato finale (ottenere il tuo codice nel repository GitHub di qualcun altro) coinvolge cinque fasi approssimative che imparerai in questo tutorial.

1. Forking o “copiare” il repository originale nel tuo account GitHub

Il termine “forking” viene talvolta confuso con il termine “cloning”. Git e GitHub sono due prodotti separati. “Forking” è un termine di GitHub che crea una replica di un repository GitHub su GitHub. “Cloning” è un termine di Git che si riferisce alla creazione di un repository Git locale sul tuo computer scaricando un repository Git remoto.

2. Committing il codice nel nostro repository fork personale e pushing quel codice nel repository GitHub

3. Inviare una pull request al proprietario del repository

4. Il proprietario del repository revisiona e approva le tue modifiche nella pull request

5. Il proprietario del repository unisce le tue modifiche al branch principale

Prerequisiti

Per seguire le dimostrazioni in questo tutorial, assicurati di avere quanto segue:

Fare il fork del Repo GitHub

Poiché non è possibile apportare modifiche dirette al repo GitHub di qualcun altro, è necessario prima creare il proprio. Per farlo, è necessario fare il fork o creare una copia del repo nel proprio account GitHub. Per farlo:

1. Apri il tuo browser preferito, vai su GitHub e accedi.

2. Vai al repo del tutorial o del repo a cui desideri contribuire, come puoi vedere di seguito.

GitHub repository to fork

3. Nell’angolo in alto a destra, fai clic sul pulsante Fork. Questo pulsante creerà automaticamente una copia di quel repository nel tuo account.

Forking a GitHub repo

Una volta fatto il fork, dovresti vedere lo stesso repository nella tua lista dei repository. Puoi anche vedere di seguito che questo repo è stato forked from Adam-the-Automator\git-pull-requests.

Forked GitHub repo

Commit delle nuove modifiche sul tuo fork personale

Ora che hai la tua copia personale del repo nel tuo account GitHub, è tempo di apportare le modifiche. Puoi apportare modifiche al codice in un repo GitHub in due modi: direttamente tramite github.com o localmente tramite Git. Copriamo entrambi i modi.

Commit del codice tramite github.com

Il modo più semplice per apportare modifiche al codice in un repository GitHub è semplicemente utilizzare il browser web. Utilizzando github.com, non è necessario preoccuparsi di configurare alcun tipo di software in locale. Tuttavia, utilizzare il browser web diventerà presto un problema se è necessario apportare modifiche moderatamente complesse.

Presumendo che tu stia ancora guardando il repository clonato nel browser:

1. Fai clic sullo script SampleText.ps1 nel tuo repository clonato e fai clic sull’icona della matita per modificarlo.

Modifying code via GitHub

2. Apporta le modifiche al file e fai clic sul pulsante Commit changes come mostrato di seguito, aggiungendo eventualmente un messaggio di commit.

Committing changes via GitHub

Commit tramite Git

Se prevedi di apportare più di una semplice modifica a un file nel repository GitHub, dovresti utilizzare Git. Git ti consente di clonare l’intero repository sul tuo computer locale e lavorare sul codice nel tuo editor di codice preferito.

Clonazione

Per lavorare sul codice del repository clonato in locale, dovrai prima clonare l’intero repository sul tuo computer locale con Git. Per farlo:

Assumendo che tu sia ancora nel tuo repository clonato su github.com:

1. Fai clic sul pulsante Code e copia l’URL nella sezione HTTPS.

Finding the Git clone URL

2. Successivamente, apri una console della riga di comando sul tuo computer. Questo tutorial utilizzerà Windows PowerShell.

3. Crea una directory per memorizzare il repository clonato e esegui git clone puntandolo all’URL copiato dal passaggio precedente.

md C:\Git
 cd C:\Git
 git clone https://github.com/adbertram/git-pull-requests.git
Cloning a Git repo

Commit e Push dei file locali

Dopo aver clonato il repository Git, è il momento di modificare il file e commettere tali modifiche nel repository. Per farlo:

1. Apri il tuo editor di codice preferito, modifica e salva lo script C:\SampleText.ps1.

2. Nella finestra del terminale, assicurati che la tua directory di lavoro sia C:\Git e esegui il seguente comando. Il comando git add aggiunge il file al repository Git locale ma non lo salva. Inizia semplicemente a tenerne traccia.

cd C:\Git
 git add SampleText.ps1

3. Successivamente, committa o salva tutti i file tracciati nel repository Git con il comando git commit. Assicurati di includere anche una spiegazione delle modifiche (messaggio di commit) con il parametro -m.

git commit -m "modified sampletext file"
Committing changes

4. Ora che il repository Git locale contiene il file modificato, pusha quella modifica nel repository GitHub con il comando git push. Dovresti ricevere una finestra che ti chiede di fornire il tuo nome utente e password di GitHub per autenticarti nel tuo repository GitHub forkato.

git push

5. Una volta fornito il tuo nome utente e password di GitHub, dovresti vedere Git fornire alcune informazioni di stato come indicato di seguito.

Pushing Git commits

Invio di una richiesta di pull

A questo punto, hai una copia del repository GitHub a cui desideri contribuire (forked) nel tuo account GitHub con la modifica che desideri richiedere al proprietario del repository GitHub. È ora il momento di inviare una richiesta di pull per chiedere al proprietario di accettare la tua modifica.

1. Naviga nel tuo repository forked su GitHub.

2. Fai clic su Pull Requests (Richieste di pull) e su New pull request (Nuova richiesta di pull) come mostrato di seguito.

Creating a pull request

3. Nella pagina della richiesta di pull, vedrai i due repository che verranno confrontati e ogni commit che stai richiedendo di unire al repository GitHub del proprietario. Fai clic su Create pull request (Crea richiesta di pull).

Creating a GitHub pull request

4. Fornisci un titolo per la richiesta di pull e fai clic su Create pull request (Crea richiesta di pull).

Opening a Git pull request

Vedrai quindi sul repository GitHub originale, una richiesta di pull apparirà. A questo punto, il tuo lavoro è terminato ed è ora di aspettare il proprietario.

Revisione e accettazione di una richiesta di pull

Appena crei una richiesta di pull, comparirà sotto Pull Request (Richiesta di pull) nel repository GitHub originale come mostrato di seguito.

Open pull request under the original GitHub repo

A questo punto, il proprietario potrà fornirti commenti con cui potrai collaborare sulla richiesta di pull. Oppure, potrà semplicemente unirla immediatamente facendo clic su Merge pull request (Unisci richiesta di pull).

Una volta che uniscono la richiesta di pull con il codice originale, la richiesta di pull passerà allo stato Merged (Unita) e il codice sarà unito al repository originale!

Merged pull request

Ora puoi vedere che sei un collaboratore del file che hai modificato ed è stato unito.

Contributor on changed file

Conclusione

In questo tutorial, hai imparato ogni passaggio su come creare una richiesta di pull di Git. Le richieste di pull sono un ottimo modo per collaborare su repository GitHub.

Ora che sai come contribuire ai progetti GitHub, quale sarà il tuo prossimo repository a cui contribuirai?

Source:
https://adamtheautomator.com/git-pull-request/