You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/it/1-getting-started-lessons/2-github-basics/README.md

18 KiB

Introduzione a GitHub

Questa lezione copre le basi di GitHub, una piattaforma per ospitare e gestire le modifiche al tuo codice.

Intro a GitHub

Sketchnote di Tomomi Imura

Quiz Pre-Lettura

Quiz pre-lettura

Introduzione

In questa lezione, tratteremo:

  • come tracciare il lavoro che fai sul tuo computer
  • lavorare su progetti con altri
  • come contribuire al software open source

Prerequisiti

Prima di iniziare, devi verificare se Git è installato. Nel terminale digita: git --version

Se Git non è installato, scarica Git. Poi, configura il tuo profilo Git locale nel terminale:

  • git config --global user.name "tuo-nome"
  • git config --global user.email "tuo-email"

Per verificare se Git è già configurato, puoi digitare: git config --list

Avrai anche bisogno di un account GitHub, un editor di codice (come Visual Studio Code) e dovrai aprire il tuo terminale (o prompt dei comandi).

Vai su github.com e crea un account se non lo hai già fatto, oppure accedi e completa il tuo profilo.

GitHub non è l'unico repository di codice al mondo; ce ne sono altri, ma GitHub è il più conosciuto.

Preparazione

Avrai bisogno di una cartella con un progetto di codice sul tuo computer locale (laptop o PC) e di un repository pubblico su GitHub, che servirà come esempio per imparare a contribuire ai progetti di altri.


Gestione del codice

Supponiamo che tu abbia una cartella localmente con un progetto di codice e voglia iniziare a tracciare i tuoi progressi usando git, il sistema di controllo delle versioni. Alcuni paragonano l'uso di git a scrivere una lettera d'amore al tuo futuro io. Leggendo i tuoi messaggi di commit giorni, settimane o mesi dopo, sarai in grado di ricordare perché hai preso una decisione o "annullare" una modifica, ovviamente se scrivi buoni "messaggi di commit".

Compito: Crea un repository e fai il commit del codice

Guarda il video

Video sulle basi di Git e GitHub

  1. Crea un repository su GitHub. Su GitHub.com, nella scheda dei repository o dalla barra di navigazione in alto a destra, trova il pulsante new repo.

    1. Dai un nome al tuo repository (cartella).
    2. Seleziona create repository.
  2. Naviga nella tua cartella di lavoro. Nel terminale, passa alla cartella (nota anche come directory) che vuoi iniziare a tracciare. Digita:

    cd [name of your folder]
    
  3. Inizializza un repository git. Nel tuo progetto digita:

    git init
    
  4. Controlla lo stato. Per controllare lo stato del tuo repository digita:

    git status
    

    l'output potrebbe essere simile a questo:

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    Tipicamente, il comando git status ti dice cose come quali file sono pronti per essere salvati nel repository o hanno modifiche che potresti voler rendere permanenti.

  5. Aggiungi tutti i file per il tracciamento Questo è anche chiamato "staging" dei file o aggiunta dei file all'area di staging.

    git add .
    

    L'argomento git add più . indica che tutti i tuoi file e modifiche sono pronti per il tracciamento.

  6. Aggiungi file selezionati per il tracciamento

    git add [file or folder name]
    

    Questo ci aiuta ad aggiungere solo file selezionati all'area di staging quando non vogliamo fare il commit di tutti i file contemporaneamente.

  7. Rimuovi tutti i file dall'area di staging

    git reset
    

    Questo comando ci aiuta a rimuovere tutti i file dall'area di staging in una volta sola.

  8. Rimuovi un file specifico dall'area di staging

    git reset [file or folder name]
    

    Questo comando ci aiuta a rimuovere solo un file specifico dall'area di staging che non vogliamo includere nel prossimo commit.

  9. Rendi permanente il tuo lavoro. A questo punto hai aggiunto i file a una cosiddetta area di staging. Un luogo dove Git sta tracciando i tuoi file. Per rendere la modifica permanente, devi fare il commit dei file. Per farlo, crei un commit con il comando git commit. Un commit rappresenta un punto di salvataggio nella storia del tuo repository. Digita il seguente comando per creare un commit:

    git commit -m "first commit"
    

    Questo fa il commit di tutti i tuoi file, aggiungendo il messaggio "first commit". Per i futuri messaggi di commit, vorrai essere più descrittivo per trasmettere il tipo di modifica che hai fatto.

  10. Collega il tuo repository Git locale con GitHub. Un repository Git è utile sul tuo computer, ma a un certo punto vorrai avere un backup dei tuoi file da qualche parte e anche invitare altre persone a lavorare con te sul tuo repository. Un ottimo posto per farlo è GitHub. Ricorda che abbiamo già creato un repository su GitHub, quindi l'unica cosa che dobbiamo fare è collegare il nostro repository Git locale con GitHub. Il comando git remote add farà proprio questo. Digita il seguente comando:

    Nota, prima di digitare il comando vai alla pagina del tuo repository GitHub per trovare l'URL del repository. Lo userai nel comando qui sotto. Sostituisci https://github.com/username/repository_name.git con il tuo URL GitHub.

    git remote add origin https://github.com/username/repository_name.git
    

    Questo crea una connessione remota, chiamata "origin", che punta al repository GitHub che hai creato in precedenza.

  11. Invia i file locali a GitHub. Finora hai creato una connessione tra il repository locale e il repository GitHub. Inviamo questi file a GitHub con il seguente comando git push, come segue:

    Nota, il nome del tuo branch potrebbe essere diverso di default da main.

    git push -u origin main
    

    Questo invia i tuoi commit nel branch "main" a GitHub.

  12. Aggiungi altre modifiche. Se vuoi continuare a fare modifiche e inviarle a GitHub, dovrai solo usare i seguenti tre comandi:

    git add .
    git commit -m "type your commit message here"
    git push
    

    Suggerimento, potresti anche voler adottare un file .gitignore per evitare che file che non vuoi tracciare appaiano su GitHub - come quel file di appunti che conservi nella stessa cartella ma che non ha posto in un repository pubblico. Puoi trovare modelli per file .gitignore su .gitignore templates.

Messaggi di commit

Un ottimo messaggio di commit completa la seguente frase: Se applicato, questo commit farà

Per il soggetto usa il tempo presente imperativo: "modifica" non "modificato" né "modifiche". Come nel soggetto, anche nel corpo (opzionale) usa il tempo presente imperativo. Il corpo dovrebbe includere la motivazione per la modifica e confrontarla con il comportamento precedente. Stai spiegando il perché, non il come.

Prenditi qualche minuto per navigare su GitHub. Riesci a trovare un messaggio di commit davvero ottimo? Riesci a trovarne uno davvero minimale? Quali informazioni pensi siano le più importanti e utili da trasmettere in un messaggio di commit?

Compito: Collabora

Il motivo principale per mettere le cose su GitHub è rendere possibile collaborare con altri sviluppatori.

Lavorare su progetti con altri

Guarda il video

Video sulle basi di Git e GitHub

Nel tuo repository, vai su Insights > Community per vedere come il tuo progetto si confronta con gli standard comunitari raccomandati.

Ecco alcune cose che possono migliorare il tuo repository GitHub:

  • Descrizione. Hai aggiunto una descrizione per il tuo progetto?
  • README. Hai aggiunto un README? GitHub fornisce indicazioni per scrivere un README.
  • Linee guida per i contributi. Il tuo progetto ha linee guida per i contributi?
  • Codice di condotta. Un Codice di Condotta.
  • Licenza. Forse più importante, una licenza.

Tutte queste risorse saranno utili per integrare nuovi membri del team. E sono tipicamente il tipo di cose che i nuovi contributori guardano prima ancora di guardare il tuo codice, per capire se il tuo progetto è il posto giusto per loro.

I file README, anche se richiedono tempo per essere preparati, sono spesso trascurati dai manutentori impegnati. Riesci a trovare un esempio di uno particolarmente descrittivo? Nota: ci sono alcuni strumenti per aiutare a creare buoni README che potresti voler provare.

Compito: Unisci del codice

I documenti sui contributi aiutano le persone a contribuire al progetto. Spiegano quali tipi di contributi stai cercando e come funziona il processo. I contributori dovranno seguire una serie di passaggi per poter contribuire al tuo repository su GitHub:

  1. Fork del tuo repository. Probabilmente vorrai che le persone forkino il tuo progetto. Forkare significa creare una replica del tuo repository sul loro profilo GitHub.
  2. Clona. Da lì cloneranno il progetto sul loro computer locale.
  3. Crea un branch. Vorrai chiedere loro di creare un branch per il loro lavoro.
  4. Concentrati su un'area specifica. Chiedi ai contributori di concentrarsi su un'area alla volta - in questo modo le possibilità che tu possa unire il loro lavoro sono più alte. Immagina che scrivano una correzione di bug, aggiungano una nuova funzionalità e aggiornino diversi test - cosa succede se vuoi, o puoi implementare solo 2 su 3, o 1 su 3 modifiche?

Immagina una situazione in cui i branch sono particolarmente critici per scrivere e distribuire buon codice. Quali casi d'uso ti vengono in mente?

Nota, sii il cambiamento che vuoi vedere nel mondo e crea branch anche per il tuo lavoro. Qualsiasi commit che fai sarà fatto sul branch su cui sei attualmente "checkout". Usa git status per vedere su quale branch ti trovi.

Passiamo attraverso un flusso di lavoro per i contributori. Supponiamo che il contributore abbia già forkato e clonato il repository, quindi ha un repository Git pronto per essere lavorato sul suo computer locale:

  1. Crea un branch. Usa il comando git branch per creare un branch che conterrà le modifiche che intende contribuire:

    git branch [branch-name]
    
  2. Passa al branch di lavoro. Passa al branch specificato e aggiorna la directory di lavoro con git switch:

    git switch [branch-name]
    
  3. Lavora. A questo punto vuoi aggiungere le tue modifiche. Non dimenticare di dirlo a Git con i seguenti comandi:

    git add .
    git commit -m "my changes"
    

    Assicurati di dare al tuo commit un buon nome, per il tuo bene e per il manutentore del repository che stai aiutando.

  4. Combina il tuo lavoro con il branch main. A un certo punto hai finito di lavorare e vuoi combinare il tuo lavoro con quello del branch main. Il branch main potrebbe essere cambiato nel frattempo, quindi assicurati di aggiornarlo prima con i seguenti comandi:

    git switch main
    git pull
    

    A questo punto vuoi assicurarti che eventuali conflitti, situazioni in cui Git non può facilmente combinare le modifiche, si verifichino nel tuo branch di lavoro. Pertanto, esegui i seguenti comandi:

    git switch [branch_name]
    git merge main
    

    Questo porterà tutte le modifiche da main nel tuo branch e, si spera, potrai semplicemente continuare. Se no, VS Code ti dirà dove Git è confuso e tu altererai i file interessati per indicare quale contenuto è il più accurato.

  5. Invia il tuo lavoro a GitHub. Inviare il tuo lavoro a GitHub significa due cose. Pushing del tuo branch al tuo repository e poi aprire una PR, Pull Request.

    git push --set-upstream origin [branch-name]
    

    Il comando sopra crea il branch sul tuo repository forkato.

  6. Apri una PR. Successivamente, vuoi aprire una PR. Lo fai navigando nel repository forkato su GitHub. Vedrai un'indicazione su GitHub che ti chiede se vuoi creare una nuova PR, clicca su di essa e sarai portato a un'interfaccia dove puoi modificare il titolo del messaggio di commit, dare una descrizione più adatta. Ora il manutentore del repository che hai forkato vedrà questa PR e incrociamo le dita apprezzerà e unirà la tua PR. Ora sei un contributore, yay :)

  7. Pulisci. È considerata una buona pratica pulire dopo aver unito con successo una PR. Vuoi pulire sia il tuo branch locale che il branch che hai inviato a GitHub. Per prima cosa, eliminiamolo localmente con il seguente comando:

    git branch -d [branch-name]
    

    Assicurati di andare alla pagina GitHub del repository forkato e rimuovere il branch remoto che hai appena inviato. Pull request sembra un termine strano perché in realtà vuoi "spingere" le tue modifiche nel progetto. Ma il manutentore (proprietario del progetto) o il team principale deve valutare le tue modifiche prima di unirle al branch "main" del progetto, quindi stai davvero richiedendo una decisione di modifica da parte di un manutentore.

Una pull request è il luogo in cui confrontare e discutere le differenze introdotte in un branch con revisioni, commenti, test integrati e altro. Una buona pull request segue più o meno le stesse regole di un messaggio di commit. Puoi aggiungere un riferimento a un problema nel tracker dei problemi, ad esempio quando il tuo lavoro risolve un problema. Questo si fa utilizzando un # seguito dal numero del problema. Ad esempio #97.

🤞Incrociamo le dita che tutti i controlli passino e che il/i proprietario/i del progetto uniscano le tue modifiche nel progetto🤞

Aggiorna il tuo branch locale di lavoro con tutti i nuovi commit dal branch remoto corrispondente su GitHub:

git pull

Come contribuire all'open source

Per prima cosa, troviamo un repository (o repo) su GitHub che ti interessa e al quale vorresti contribuire con una modifica. Vorrai copiarne il contenuto sulla tua macchina.

Un buon modo per trovare repository "adatti ai principianti" è cercare con il tag 'good-first-issue'.

Copia un repo localmente

Ci sono diversi modi per copiare il codice. Un modo è "clonare" il contenuto del repository, utilizzando HTTPS, SSH o la GitHub CLI (Command Line Interface).

Apri il terminale e clona il repository in questo modo: git clone https://github.com/ProjectURL

Per lavorare sul progetto, passa alla cartella corretta: cd ProjectURL

Puoi anche aprire l'intero progetto utilizzando Codespaces, l'editor di codice integrato / ambiente di sviluppo cloud di GitHub, o GitHub Desktop.

Infine, puoi scaricare il codice in una cartella compressa.

Alcune cose interessanti su GitHub

Puoi aggiungere una stella, seguire e/o "forkare" qualsiasi repository pubblico su GitHub. Puoi trovare i tuoi repository con stella nel menu a tendina in alto a destra. È come salvare nei segnalibri, ma per il codice.

I progetti hanno un tracker dei problemi, per lo più su GitHub nella scheda "Issues" a meno che non sia indicato diversamente, dove le persone discutono dei problemi relativi al progetto. E la scheda Pull Requests è dove le persone discutono e revisionano le modifiche in corso.

I progetti potrebbero anche avere discussioni in forum, mailing list o canali di chat come Slack, Discord o IRC.

Dai un'occhiata al tuo nuovo repository GitHub e prova alcune cose, come modificare le impostazioni, aggiungere informazioni al tuo repo e creare un progetto (come una bacheca Kanban). C'è molto che puoi fare!


🚀 Sfida

Lavora in coppia con un amico sul codice di ciascuno. Crea un progetto collaborativo, fork del codice, crea branch e unisci modifiche.

Quiz post-lezione

Quiz post-lezione

Revisione e studio autonomo

Leggi di più su come contribuire al software open source.

Git cheatsheet.

Pratica, pratica, pratica. GitHub offre ottimi percorsi di apprendimento disponibili su skills.github.com:

Troverai anche corsi più avanzati.

Compito

Completa il corso Prima settimana su GitHub


Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.