Github: forcare, clonare, branciare, fare PR e mergiare

Tutto il codice sorgente di QGIS si trova su Github, piattaforma per il versioning, e chiunque puo’ partecipare allo sviluppo.

In questo post descriverò come fare una PR (Pull Request) per chiedere la modifica/correzione di errori nel help in linea del calcolatore di campi di QGIS.

Occorre avere un account in Github.

Step uno: Fork del progetto QGIS master

recarsi al sito e cliccare su Fork:

Immagine003
github.com/qgis/QGIS

dopo qualche minuto si avrà il fork nel nostro github:

Immagine001
Forking!!!

eccolo:

Immagine010
fork nel nostro github

 

Step due: Clonare il fork nel nostro PC

per clonare un repository esistono vari modi (gli esperti usano la riga di comando) ma io uso GitHub Desktop, un app per windows:

log

dopo aver settato github desktop:

Immagine005
clonare

in altro a sinistra c’è un + (1), clicchiamoci e selezioniamo ‘Clone’ (2); dovrebbe comparire un menu a discesa con tutti i vostri repository, selezionate il fork di QGIS (3) cliccate su Clone (4); vi chiederà la cartella dove scaricare il fork sul PC (io ho scelto di metterla in Documenti/GitHub):

 

Immagine002
Cloning

dopo qualche minuto troverete il clone del fork nel vostro PC:

doc

Step tre: creare un Branch sul Clone

è consigliato non lavorare mai sulla copia (clone del fork) ma su un ramo parallelo, quindi dobbiamo creare un branch:

Immagine006
creare branch

clicchiamo al punto (1) e inseriamo un nome del branch (2) ed infine (3); dopo qualche secondo:

Immagine007
branch creato – ramo parallelo al clone del fork

Step quattro: facciamo le modificare che ci servono sul branch del clone

per editare i file esistono vari editor, uno dei più diffusi è VScode un software free e Open Source, avviatelo e con un semplice drag and Drop trascinate la cartella QGIS (il vostro clone) all’interno di VScode:

Immagine008
Visual Code

il software riconoscerà la cartella e i branch; usare l’icona di ricerca per trovare i file da modificare:

Immagine009
ricerca e modifica file

dopo la modifica salvare il file, siamo pronti alla fase successiva.

Steo cinque: push modifiche nel fork (in github)

il push si puo’ fare in vari modi (gli esperti usano la linea di comando), usando VScode o github desktop; preferisco github desktop perchè chiede una sola volta le credenziali per github:

Immagine 42
push

cliccare su ‘Changes’ (1); in (2) troviamo elenco delle modifiche, in (3) scriviamo un commento e poi (4) facciamo il commit.

Tutte le modifiche apportate sono sul nostro fork:

Immagine 45
ecco una modifica apportata nel mio fork
Immagine 46
ecco segnalato il push del branch

step sei: Pull Request (PR) dal fork su QGIS master

cliccare compare e pull request

github001
compare e pull request

dopo il clic passeremo a questa pagina:

github003
Open a pull request

è possibile modificare il nome del branch (1) e aggiungere commenti (2); dopo cliccare su (3) per creare la pull request; subito dopo passeremo a questa pagina:

github004
creata pull request (PR)

se tutto va bene leggeremo, in fondo, This branch has no conflict with base branch (che è il master):

github005
nessun conflitto!!!

In questo caso specifico ho usato un mio repositori ed ho fatto una pull request, essendo io l’amministratore del repository, la pull arriverà a me stesso e quindi posso cliccare sul bottone verde Merge pull request (1); dopo il clic vedremo:

github006
richiesta di conferma

e poi:

github007
Merged!!!

Nel caso di QGIS e del Help:

github009
merged!!!

Finalmente il tutto è Mergiato! WOW!!!

Volendo è ora possibile cancellare il branch!!!

Un doveroso grazie a:

Andrea Borruso
Matteo Ghetta

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

w

Connessione a %s...