Che cos'è GitHub?

Completato

In questa unità vengono esaminati gli obiettivi di apprendimento seguenti:

  • Breve panoramica di GitHub Enterprise Platform
  • Come creare un repository
  • Aggiunta di file a un repository
  • Come cercare repository
  • Introduzione a gists e wiki

GitHub

Prima di esplorare in dettaglio la piattaforma GitHub, è importante comprendere cosa si basa su: Git.

Git è un sistema di controllo della versione distribuito che consente agli sviluppatori di tenere traccia delle modifiche, collaborare al codice e gestire le revisioni nel tempo. GitHub si basa su Git aggiungendo strumenti di collaborazione, funzionalità di automazione e un'interfaccia Web intuitiva. Comprendere le nozioni di base su Git, ad esempio commit, rami e unione, consente di usare GitHub in modo più efficace.

Immagine concettuale della piattaforma GitHub con livelli dall'alto verso il basso: Intelligenza artificiale, collaborazione, produttività, sicurezza e scalabilità.

GitHub è una piattaforma basata sul cloud che usa Git, un sistema di controllo della versione distribuita, al suo centro. La piattaforma GitHub emplifica il processo di collaborazione ai progetti e fornisce un sito Web, strumenti da riga di comando e un flusso completo che consente a sviluppatori e utenti di collaborare.

Come appreso in precedenza, GitHub offre una piattaforma per sviluppatori basata su intelligenza artificiale per creare, ridimensionare e distribuire software sicuro. Verranno ora esaminati tutti i pilastri principali della piattaforma GitHub Enterprise, ovvero intelligenza artificiale, collaborazione, produttività, sicurezza e scalabilità.

Intelligenza Artificiale (AI)

L'intelligenza artificiale generativa sta trasformando notevolmente lo sviluppo di software. La piattaforma GitHub Enterprise migliora la collaborazione tramite richieste e problemi pull basati sull'intelligenza artificiale, produttività tramite Copilot, Copilot Chat e Copilot Agents e sicurezza fornendo un feedback più rapido per migliorare la sicurezza.

Collaborazione

La collaborazione è alla base di tutto ciò che fa GitHub. GitHub offre strumenti che consentono ai team di collaborare in modo efficiente, riducendo i ritardi e semplificando i flussi di lavoro.

Repository, problemi, richieste pull e altri strumenti consentono di supportare una collaborazione più rapida tra ruoli, abbreviare i cicli di approvazione e migliorare la velocità di recapito.

Produttività

La produttività è accelerata con l'automazione fornita da GitHub Enterprise Platform. Con gli strumenti ci/CD predefiniti (integrazione continua e recapito continuo) direttamente integrati nel processo di sviluppo, la piattaforma consente agli utenti di automatizzare le attività ripetitive e velocizzare il lavoro quotidiano. Ciò consente agli sviluppatori di concentrarsi maggiormente sulla scrittura di codice e sulla risoluzione dei problemi.

Sicurezza

GitHub integra la sicurezza direttamente nel processo di sviluppo fin dall'inizio e in ogni fase. GitHub Enterprise include funzionalità native e di prima parte come CodeQL, analisi dei segreti, Dependabot e panoramica della sicurezza per ridurre al minimo i rischi. Il codice rimane privato, pur continuando a trarre vantaggio dai controlli di sicurezza integrati.

GitHub continua a investire in sicurezza e conformità di livello aziendale. Considerato attendibile da Microsoft e dalle organizzazioni in settori altamente regolamentati, GitHub rispetta gli standard di conformità globali, rendendola una scelta affidabile per lo sviluppo sicuro su larga scala.

Ridimensiona

GitHub è la community di sviluppatori più grande del suo genere, con dati in tempo reale provenienti da oltre 100 milioni di sviluppatori, 420 milioni di repository e innumerevoli distribuzioni. GitHub apprende ed evolve continuamente i suoi prodotti. La sua base di utenti di grandi dimensioni offre una prospettiva diversificata su ciò che gli sviluppatori hanno bisogno, guidando l'innovazione continua per soddisfare tali esigenze. Allo stesso tempo, GitHub è una piattaforma estendibile, ovvero sviluppatori open source di tutto il mondo contribuiscono e migliorano le funzionalità che rendono GitHub eccezionale.

Questo si è tradotto in un'incredibile scala che è senza corrispondenza e senza pari da qualsiasi altra azienda sul pianeta. Le informazioni dettagliate di questa grande base per sviluppatori consentono a GitHub di evolvere continuamente la piattaforma.

In sostanza, la piattaforma GitHub Enterprise si concentra sull'esperienza dello sviluppatore. Offre strumenti di collaborazione, automazione e funzionalità basate sull'intelligenza artificiale che supportano produttività, sicurezza e scalabilità in un'esperienza di sviluppo unificata.

Si esaminerà ora il backbone di GitHub, repository.

Introduzione ai repository

Esaminiamo prima di tutto:

  • Che cos'è un repository?
  • Come creare un repository
  • Aggiunta di file a un repository
  • Come cercare repository
  • Introduzione a gist, wiki e pagine GitHub

Che cos'è un repository?

Un repository contiene tutti i file del progetto e la cronologia delle revisioni di ogni file. Si tratta di una delle parti essenziali che aiutano a collaborare con le persone. È possibile usare i repository per gestire il lavoro, tenere traccia delle modifiche, archiviare la cronologia delle revisioni e collaborare con altri utenti. Prima di approfondire, si inizierà prima di tutto con il modo in cui creare un repository.

Come creare un repository

È possibile creare un nuovo repository nell'account personale o in qualsiasi organizzazione in cui si dispone di autorizzazioni sufficienti.

Verrà ora illustrato come creare un repository da github.com.

  1. Nell'angolo in alto a destra di una pagina nel sito GitHub usare il menu a discesa e scegliere Nuovo repository.

    Screenshot del menu a discesa del segno più nell'angolo superiore destro di GitHub.com, con la prima opzione Nuovo repository.

  2. Usare il menu a discesa Proprietario per selezionare l'account che si vuole possedere nel repository.

    Screenshot del menu a discesa di chi deve essere il proprietario del nuovo repository.

  3. Digitare un nome per il repository e una descrizione facoltativa.

    Immagine della casella di testo del nome del repository evidenziata.

  4. Scegliere una visibilità del repository.

    • I repository pubblici sono accessibili a tutti gli utenti su Internet.

    • I repository privati sono accessibili solo all'utente, agli utenti con cui si condivide esplicitamente l'accesso e, per i repository dell'organizzazione, determinati membri dell'organizzazione.

  5. Selezionare Crea repository, e congratulazioni! È stato appena creato un repository!

Come clonare un repository

La clonazione di un repository consente di creare una copia locale di un repository nel computer. Ciò è utile per apportare modifiche in locale e sincronizzarle di nuovo nel repository remoto.

  1. In GitHub.com passare alla pagina principale del repository da clonare.

  2. Sopra l'elenco dei file fare clic sul pulsante Codice .

    Screenshot del menu a discesa del pulsante Codice con le opzioni di clonazione.

  3. Copiare l'URL per il repository usando l'opzione HTTPS, SSH o l'interfaccia della riga di comando di GitHub.

  4. Aprire il terminale e passare alla directory in cui si vuole clonare il repository.

  5. Eseguire il comando seguente, sostituendo <repository-url> con l'URL copiato:

    git clone <repository-url>
    
  6. Al termine del processo di clonazione, passare alla cartella del repository:

    cd <repository-name>
    

Congratulazioni! È ora disponibile una copia locale del repository.

Si esaminerà ora come aggiungere file al repository.

Come aggiungere un file al repository

I file in GitHub possono eseguire alcune operazioni, ma lo scopo principale dei file è archiviare dati e informazioni sul progetto. Per aggiungere un file a un repository, è necessario almeno l'accesso in scrittura .

Si esaminerà ora come aggiungere un file al repository.

  1. In GitHub.com passare alla pagina principale del repository.

  2. Nel repository passare alla cartella in cui si vuole creare un file selezionando il collegamento per la creazione di un nuovo file o il caricamento di un file esistente.

  3. Dopo l'aggiunta, sopra l'elenco dei file selezionare il menu a discesa Add file ᐁ. Selezionare quindi Create new file.

    Screenshot dell'opzione per aggiungere un file al nuovo repository evidenziata in rosso con il pulsante Add file a destra della schermata.

  4. Nel campo relativo al nome file digitare il nome e l'estensione per il file. Per creare sottodirectory, digitare il separatore di directory /.

  5. Nella casella di testo relativa al contenuto del file digitare il contenuto per il file.

  6. Per ricontrollare il nuovo contenuto, sopra il contenuto del file, selezionare Anteprima.

    Screenshot che mostra un file yml con il pulsante di anteprima evidenziato in alto a sinistra.

  7. Selezionare Eseguire il commit delle modifiche.

  8. Nel campo Commit message digitare un breve messaggio di commit significativo che descrive la modifica apportata al file. È possibile attribuire il commit a più autori nel messaggio di commit.

  9. Se più indirizzi di posta elettronica sono associati all'account in GitHub.com, selezionare il menu a discesa relativo all'indirizzo di posta elettronica. Selezionare quindi l'indirizzo di posta elettronica da usare come indirizzo di posta elettronica dell'autore Git. In questo menu a discesa vengono visualizzati solo gli indirizzi di posta elettronica verificati. Se è stata abilitata la privacy dell'indirizzo di posta elettronica, allora [username]@users.noreply.github.com è l'indirizzo di posta elettronica predefinito dell'autore del commit.

    Screenshot che mostra una modifica del commit con una casella di descrizione e il menu a discesa del messaggio di posta elettronica da selezionare come autore del commit.

  10. Sotto i campi del messaggio di commit decidere se aggiungere il commit al ramo attuale o a un nuovo ramo. Se il ramo attuale è il ramo predefinito, è necessario scegliere di creare un nuovo ramo per il commit e quindi creare una richiesta pull.

    Screenshot che mostra la creazione di un nuovo ramo da un'opzione di commit selezionata con la casella di testo del nuovo ramo sottostante.

  11. Selezionare Esegui commit modifiche o Proponi modifiche.

Congratulazioni, è stato appena creato un nuovo file nel repository! È stato creato anche un nuovo ramo ed è stato eseguito un commit.

Prima di esaminare i rami e i commit nell'unità successiva, è possibile esaminare rapidamente gist, wiki e pagine di GitHub perché sono simili ai repository.

Che cosa sono i Gists?

Gists è una funzionalità di GitHub che consente agli utenti di condividere frammenti di codice, note o altre piccole informazioni in modo semplice e pratico. Sono essenzialmente mini repository Git, il che significa che è possibile creare fork, clonare e controllare la versione proprio come un repository completo. I Gists sono particolarmente utili per la condivisione di soluzioni rapide, file di configurazione o esempi senza la necessità di creare un repository completo.

Caratteristiche principali dei Gists:

  1. Gists pubblici e segreti:

    • Gists pubblici: sono visibili a tutti e possono essere individuati tramite la funzionalità di ricerca di GitHub. Sono ideali per la condivisione di frammenti di codice o soluzioni che si desidera rendere disponibili per la community più ampia.
    • Gists segreti: non sono ricercabili o elencati pubblicamente, ma non sono completamente privati. Chiunque abbia l'URL può accedervi. Sono utili per condividere il codice con un gruppo di destinatari limitato, ad esempio collaboratori o amici.
  2. Controllo della versione:

    • Ogni modifica apportata a un gist viene rilevata, consentendo di visualizzare la cronologia delle modifiche. In questo modo è facile ripristinare una versione precedente o vedere come il frammento di codice si è evoluto nel tempo.
  3. Creazione di fork e clonazione:

    • Come i repository, i gists possono essere copiati tramite fork e clonati. In questo modo, gli altri utenti possono basarsi sul proprio lavoro o adattarli alle loro esigenze.
  4. Incorporamento:

    • I Gists possono essere incorporati in siti Web o blog, rendendoli uno strumento ideale per condividere esempi di codice in esercitazioni o documentazione.
  5. Supporto markdown:

    • Gists supporta la formattazione Markdown, il che significa che è possibile includere testo rtf, intestazioni, collegamenti e persino immagini insieme al codice. Ciò è particolarmente utile per aggiungere contesto o spiegazioni ai frammenti di codice.
  6. Collaboration:

    • Anche se i gists vengono in genere usati per singoli frammenti di codice, possono anche essere condivisi e collaborati da più utenti. La creazione di fork e commenti sui gists consentono la collaborazione leggera.

Casi d'uso per gists:

  • Condivisione di esempi di codice rapidi o soluzioni.
  • Archiviazione di file di configurazione o script per uso personale.
  • Creazione di modelli per modelli di codice di uso comune.
  • Condivisione dei log degli errori o debug di informazioni con altri utenti.
  • Incorporamento di frammenti di codice in blog, forum o documentazione.

[IMPORTANTE!]

Non usare mai gists per archiviare dati sensibili o riservati, ad esempio password, segreti o chiavi API, anche in script o file di configurazione.
Gists non sono completamente privati: anche i gist segreti possono essere accessibili da chiunque con il collegamento. Esaminare sempre attentamente il contenuto prima della condivisione.

Limitazioni dei Gists:

  • I Gists non sono completamente privati, anche se contrassegnati come segreti. Chiunque abbia l'URL può accedervi, quindi non deve essere usato per informazioni riservate o riservate.
  • Sono più adatti per piccoli frammenti di codice o singoli file. Per progetti di grandi dimensioni o strutture multi-file, un repository completo è più appropriato.

Per altre informazioni su come creare e gestire i gists, vedere la documentazione di GitHub nella sezione Risorse di questo modulo o visitare la documentazione di GitHub Gists.

Creazione di fork e clonazione di Gists

Puoi creare una copia del gist per creare una copia del gist di qualcun altro nel tuo account.

  1. Passare al gist da creare tramite fork.
  2. Selezionare Fork in alto a destra nella pagina gist.

Per clonare un gist in locale:

git clone https://gist.github.com/your-gist-id.git

Per altre informazioni sui gist, vedere l'articolo collegato nella sezione Risorse alla fine di questo modulo intitolato Creazione di gist.


Che cosa sono i wiki?

Ogni repository su GitHub.com è dotato di una sezione per l'hosting della documentazione, denominata wiki. È possibile usare il wiki del repository per condividere contenuti in formato lungo sul progetto, ad esempio come usarlo, come è stato progettato o i relativi principi di base. Mentre un file README indica rapidamente le operazioni che il progetto può eseguire, è possibile usare un wiki per fornire documentazione aggiuntiva.

Vale la pena ricordare che se il repository è privato solo le persone che hanno almeno l'accesso in lettura al repository avranno accesso al wiki.

Creazione, modifica ed eliminazione di pagine wiki

È possibile usare il wiki di GitHub per creare e gestire la documentazione per il progetto.

Per creare una pagina wiki:

  1. Passare al repository.
  2. Selezionare la scheda Wiki .
  3. Selezionare Crea la prima pagina se non esistono pagine o Nuova pagina per aggiungere una pagina.
  4. Immettere un titolo e un contenuto, quindi selezionare Salva pagina.

Per modificare una pagina wiki:

  1. Passare alla pagina wiki da modificare.
  2. Selezionare Modifica in alto a destra.
  3. Apportare modifiche e selezionare Salva pagina.

Per eliminare una pagina wiki:

  • L'eliminazione di una pagina wiki richiede l'uso di Git. Clonare il repository wiki, rimuovere il file ed eseguire il push della modifica.

Altre informazioni sulla gestione dei wiki in GitHub Docs - Aggiunta o modifica di pagine wiki.

Che cosa sono le anteprime delle funzionalità?

Le anteprime delle funzionalità consentono di provare le funzionalità sperimentali in GitHub prima che vengano rilasciate ufficialmente. Queste anteprime consentono di accedere in anticipo alle nuove funzionalità e di fornire commenti e suggerimenti per modellare il prodotto finale.

Per abilitare o disabilitare un'anteprima delle funzionalità:

  1. Passare all'account GitHub selezionando l'immagine del profilo nell'angolo in alto a destra di GitHub.com.
  2. Selezionare Anteprima funzionalità dal menu a discesa.
  3. Esplorare l'elenco delle anteprime disponibili e attivare o disattivare le funzionalità da provare.

Le anteprime delle funzionalità sono un ottimo modo per restare al passo con la curva ed esplorare nuovi strumenti che possono migliorare l'esperienza di GitHub.

Suggerimento

GitHub aggiunge spesso nuove funzionalità sperimentali che gli utenti possono esplorare, quindi tenere d'occhio la revisione delle funzionalità per individuare nuovi strumenti e miglioramenti.