Introduzione a GitHub

Completato

GitHub è la community open source più grande del mondo. Microsoft è proprietario di GitHub. GitHub è una piattaforma di sviluppo ispirata al modo in cui si lavora.

È possibile ospitare ed esaminare codice, gestire progetti e creare software insieme a 40 milioni di sviluppatori da open source a business.

GitHub è un servizio di hosting del repository Git che aggiunge molte delle sue funzionalità.

Mentre Git è uno strumento da riga di comando, GitHub fornisce un'interfaccia grafica basata sul Web.

Fornisce anche il controllo di accesso e diverse funzionalità di collaborazione, ad esempio wiki e strumenti di gestione delle attività essenziali per ogni progetto.

Quali sono quindi i principali vantaggi dell'uso di GitHub? Quasi ogni progetto open source usa GitHub per gestire il progetto.

L'uso di GitHub è gratuito se il progetto è open source e include un wiki e uno strumento di rilevamento dei problemi, rendendo più semplice avere una documentazione più approfondita e ottenere commenti e suggerimenti sul progetto.

Quali sono alcune delle funzionalità offerte da GitHub?

  • Automatizzare dal codice al cloud: cicla il codice di produzione più velocemente e semplifica il flusso di lavoro con GitHub Packages e CI/CD predefinito usando GitHub Actions.

    • Automatizzare i flussi di lavoro: compilare, testare, distribuire ed eseguire CI/CD come si vuole nella stessa posizione in cui si gestisce il codice. Attivare azioni da qualsiasi evento GitHub a qualsiasi API disponibile. Creare le azioni nel linguaggio preferito o scegliere tra migliaia di flussi di lavoro e azioni creati dalla community.
    • Pacchetti con il loro codice a casa: Usare Actions per pubblicare automaticamente nuove versioni dei pacchetti su GitHub Packages. Installare pacchetti e immagini ospitati in GitHub Packages o nel registro dei pacchetti preferiti nei flussi di lavoro CI/CD. È sempre gratuito per open source e il trasferimento dei dati all'interno di Actions è illimitato per tutti.
  • Protezione del software insieme: GitHub svolge un ruolo nella protezione del codice mondiale, ovvero sviluppatori, gestori, ricercatori e team di sicurezza. Su GitHub, i team di sviluppo possono collaborare per proteggere la supply chain del software mondiale, dalla fork alla fine.

    • Ottenere avvisi sulle vulnerabilità nel codice: GitHub analizza continuamente gli avvisi di sicurezza per i linguaggi più diffusi. Inoltre, invia avvisi di sicurezza ai gestori dei repository interessati con i dettagli in modo da poter correggere i rischi.
    • Aggiorna automaticamente le vulnerabilità: GitHub monitora le dipendenze del progetto e apre automaticamente le richieste pull per aggiornare le dipendenze alla versione minima che risolve le vulnerabilità note.
    • Rimani aggiornato sulle CVE: rimani aggiornato con le ultime vulnerabilità ed esposizioni comuni (CVE) e scopri come influiscono sull'utente con il database di consulenza GitHub.
    • Individuare le vulnerabilità perse da altri strumenti: CodeQL è il motore di analisi semantico leader del settore. L'approccio rivoluzionario di GitHub considera il codice come dati per identificare più rapidamente le vulnerabilità di sicurezza.
    • Elimina le varianti: mai fare lo stesso errore due volte. L'analisi proattiva delle vulnerabilità impedisce che le vulnerabilità raggiungano mai la produzione.
    • Mantenere sicuri i token: eseguire accidentalmente il commit di un token in un repository pubblico? GitHub è dalla tua parte. Con il supporto di 20 provider di servizi, GitHub esegue i passaggi per garantire la sicurezza.
  • Revisione del codice facile: la revisione del codice è il percorso più sicuro per migliorare il codice ed è fondamentale per il funzionamento di GitHub. Gli strumenti di revisione integrati rendono la revisione del codice una parte essenziale del processo del team.

    • Proporre modifiche: un codice migliore inizia con una richiesta pull, una conversazione vivente sui cambiamenti in cui è possibile parlare attraverso idee, assegnare attività, discutere dettagli e condurre revisioni.
    • Richiedi recensioni: se sei dall'altra parte di una recensione, puoi richiedere recensioni dai tuoi colleghi per ottenere il feedback dettagliato necessario.
    • Vedere la differenza: le recensioni si verificano più velocemente quando si conoscono esattamente le modifiche. I diff confrontano le diverse versioni del tuo codice sorgente, evidenziando le parti nuove, modificate o eliminate.
    • Commento nel contesto: le discussioni si verificano nei thread di commento all'interno del codice: raggruppare i commenti in una sola recensione o rispondere a un altro utente in linea per avviare una conversazione.
    • Dare un feedback chiaro: i tuoi compagni di squadra non devono sforzarsi a capire cosa significa un'emoji di pollice in su. Specificare se i commenti sono necessari o solo alcuni suggerimenti.
    • Proteggi rami: unisci solo il codice di alta qualità. È possibile configurare i repository per richiedere controlli di stato, riducendo l'errore umano e il sovraccarico amministrativo.
  • Tutto il codice e la documentazione in un'unica posizione: centinaia di milioni di repository privati, pubblici e open source sono ospitati in GitHub. Ogni repository include strumenti per aiutare a ospitare, gestire le versioni e rilasciare il codice e la documentazione.

    • Codice in cui si collabora: i repository mantengono il codice in un'unica posizione e aiutano i team a collaborare con gli strumenti che amano, anche se si lavora con file di grandi dimensioni usando Git LFS. È possibile creare o importare il maggior numero possibile di progetti con repository privati illimitati per utenti singoli e gruppi.
    • Documentazione insieme al codice: ospitare la documentazione direttamente dai repository con GitHub Pages. Usare Jekyll come generatore di siti statici e pubblicare le pagine dalla cartella /docs nel ramo principale.
  • Gestire le idee: coordinare in anticipo, rimanere allineati e fare di più con gli strumenti di gestione dei progetti di GitHub.

    • Visualizza la grande immagine del tuo progetto: vede tutto ciò che accade nel progetto e scegli dove concentrare le attività del team con progetti e bacheche che risiedono nel posto giusto: vicino al codice.
    • Tenere traccia e assegnare attività: le questioni consentono di identificare, assegnare e monitorare le attività all'interno del team. È possibile aprire una segnalazione per monitorare un bug, discutere un'idea con un @mentiono iniziare a distribuire il lavoro.
  • Il lato umano del software: la creazione di software riguarda la gestione di team e community rispetto alla codifica. Che si tratti di un gruppo di due o 2000, GitHub ha il supporto necessario per gli utenti.

    • Gestire e sviluppare i team: aiuta le persone a organizzarsi con i team di GitHub, accedere ai ruoli amministrativi e ottimizzare i permessi con i team annidati.
    • Mantieni conversazioni: gli strumenti di moderazione, ad esempio il problema e il blocco delle richieste pull, aiutano il team a rimanere concentrati sul codice. Se si gestisce un progetto open source, il blocco utente riduce il rumore e garantisce conversazioni produttive.
    • Impostare le linee guida della community: impostare ruoli e aspettative senza iniziare da zero. Personalizzare i codici standard di comportamento per creare quello perfetto per il progetto. Scegli una licenza predefinita direttamente dal tuo repository.

GitHub offre risorse di apprendimento eccellenti per la piattaforma. È possibile trovare tutto, dal corso introduttivo a Git, all'analisi approfondita della pubblicazione di pagine statiche su GitHub e su come fare DevOps su GitHub, proprio qui.