mywiki/pull-request.md

92 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git: la Pull Request
La *Pull Request* è una richiesta, fatta allautore originale di un sofware o di un documento, di includere le modifiche al suo progetto.
Dopo aver trovato un progetto, si deve cliccare sul tasto `Fork`, in alto a destra:
![Fork](./asset/pull-request//fork1.png 'Fork di un progetto')
## Forkare un progetto
Il tasto `fork` creerà una copia del progetto sul nostro profilo personale di GitHub, Gitea o simili. Di questa copia non potrà essere toccato il ramo `master`, perchè appartiene agli sviluppatori originari del progetto, tuttavia è possibile creare un ramo secondario, ove apportare le dovute modifiche.
Nell'esempio, viene forkato il seguente progetto:
[https://github.com/wsdfhjxc/virtual-desktop-bar](https://github.com/wsdfhjxc/virtual-desktop-bar)
## Clonare il progetto
Ora basterà copiare il collegamento `ssh` al nostro progetto e clonarlo in locale, tramite i seguenti comandi:
```bash
git clone git@github.com:PicciHud/virtual-desktop-bar.git
```
![Clone](./asset/pull-request//clone.png 'Clonare un progetto')
Per la creazione delle chiavi `SSH`, seguire la precedente guida: [SSH](https://gitea.it/PicciHud/Appunti/wiki/SSH 'Creazione chiavi SSH')
## Creare un nuovo branch
Per apportare delle modifiche, occorre creare un ramo secondario, di sviluppo:
```bash
git branch dev
```
dove `dev` indica il nome del ramo.
È quindi possibile spostarsi nel nuovo ramo tramite il comando:
```bash
git checkout dev
```
## Apportare modifiche
Adesso è possibile apportare qualsiasi modifica al progetto, creando nuovi files, cartelle, o qualsiasi cosa si ritenga opportuna.
Nell'esempio, abbiamo modificato il file `install-applet.sh`, correggendo il `$PATH` del file `build-applet.sh`, oltre ad aver creato l'installer per Debian
![Modifiche](./asset/pull-request//mod.png 'Modifiche')
In pratica è stato risolto questo bug:
![Issue](./asset/pull-request//bug.png 'Issue')
Una volta terminato, aggiungere le modifiche alla *staging area*:
```bash
git add .
```
quindi il comando
```bash
git commit -a -m nome modifiche
```
salva la nuova versione del documento.
Infine il comando
```bash
git push set-upstream -origin dev
```
invia il nuovo ramo di sviluppo al nostro repository su GitHub o simili.
Si tratta di un comando abbastanza complicato da ricordare a memoria. Git però viene in aiuto, basterà quindi semplicemente ricordare il comando classico `git push` per ricevere da git un messaggio di errore che contiene lindicazione sulla sintassi esatta del comando da usare.
## Pull request
Su GitHub cliccare sul pulsante *Compare & Pull request* per avviare agli sviluppatori originari del progetto una richiesta di integrazione del nostro ramo con le nostre integrazioni e modifiche. Descriviamo i cambiamenti che abbiamo fatto e inviamo la Pull Request.
![Pull Request](./asset/pull-request//pullrequest1.png 'Pull Request')
Per approfondire i comandi di Git, si veda la seguente guida: [Git](https://gitea.it/PicciHud/Appunti/wiki/Git 'Comandi Git')
## Collegamenti
- [https://marcolombardo.com/blog/open/source/2019/03/13/iniziare-con-git-e-github-la-pull-request.html](https://marcolombardo.com/blog/open/source/2019/03/13/iniziare-con-git-e-github-la-pull-request.html)