Cos'è un repository?
Un repository, o repo, è un archivio digitale centralizzato che gli sviluppatori utilizzano per apportare e gestire le modifiche al codice sorgente di un'applicazione. Gli sviluppatori hanno la necessità di archiviare e condividere cartelle, file di testo e altri tipi di documenti durante lo sviluppo del software. Un repo ha caratteristiche che consentono agli sviluppatori di tenere facilmente traccia delle modifiche al codice, di modificare simultaneamente i file e di collaborare in modo efficiente allo stesso progetto da qualsiasi luogo.
Perché un repository è così importante?
Un repository consente ai team di sviluppo di software di implementare diverse modifiche al codice di programma di un software, senza compromettere il codice sorgente principale. Invece di applicare le modifiche direttamente sul ramo principale, si utilizzano le funzioni di un repository per modificare e rivedere le modifiche stesse. Ciò riduce il rischio di conflitti in caso di unione quando due o più sviluppatori modificano la stessa parte di codice.
Inoltre, gli sviluppatori utilizzano i repository per introdurre nuove funzioni o risolvere eventuali bug, senza influenzare la versione di produzione dell'applicazione. Creano un nuovo ramo, ovvero una copia del codice sorgente originale, da utilizzare come repository locale su cui lavorare. In questo modo, gli sviluppatori si assicurano che le nuove modifiche siano testate in maniera adeguata prima di essere presentate ai clienti.
Vantaggi dei repository per le aziende
Le aziende sono più flessibili e reattive all'evolversi delle richieste dei consumatori quando si avvalgono di repository per lo sviluppo delle proprie applicazioni. Gli sviluppatori possono lavorare a nuove funzioni in modo rapido, senza compromettere la stabilità dell'applicazione in funzione. Con i repository, gli sviluppatori possono introdurre modifiche e risolvere potenziali problemi in modo rapido. Inoltre, le aziende possono coordinare le attività di sviluppo delle applicazioni svolte dagli sviluppatori che lavorano da remoto.
Cos'è un repository GitHub?
GitHub è un repository basato su cloud che consente agli sviluppatori di archiviare e lavorare su codici di progetto in modo organizzato. GitHub è costruito su Git, un sistema di controllo delle versioni, e include funzioni aggiuntive che migliorano la collaborazione tra gli sviluppatori. Fornisce un'interfaccia utente grafica per semplificare le funzioni del repository.
Inoltre, GitHub è diventato una comunità online open-source per sviluppatori. Gli sviluppatori possono mettersi in contatto con altri colleghi partecipando a discussioni, offrendo il proprio aiuto e condividendo le proprie conoscenze nell'ambito di progetti pubblici su GitHub.
Poiché GitHub è il repository più noto e usato tra le comunità di sviluppatori di tutto il mondo, questo articolo del blog si concentra in particolar modo sui repository GitHub.
Come funziona un repository GitHub?
Un repository GitHub consente agli sviluppatori di collaborare da remoto e in maniera distribuita con strumenti di controllo delle versioni installati a livello locale. Per implementare le funzioni su Git, gli sviluppatori utilizzano un'interfaccia a riga di comando, un software di controllo delle versioni.
Git consente agli sviluppatori di creare, gestire e unire le modifiche apportate ai codici con il codice sorgente principale.
Creare
Prima di tutto, gli sviluppatori creano un nuovo repository sulla directory del progetto che contiene i file dei codici. In alternativa, possono clonare un repository Git da uno esistente. Solitamente, il repository Git contiene un file README con informazioni riguardanti il progetto.
Configurare
Prima di apportare modifiche al repository locale, gli sviluppatori configurano il repo aggiungendo informazioni quali nome utente ed e-mail. In questo modo, i collaboratori potranno individuare l'autore di un dato repository Git. In seguito, lo sviluppatore può apportare modifiche al codice e salvarle con il comando git commit.
Modificare
Gli sviluppatori apportano modifiche al codice nel repository. Inizialmente, le modifiche sono archiviate soltanto nel sistema locale. Una volta pronte, è possibile integrare le modifiche al repository centrale. Nel caso in cui un altro sviluppatore modifichi lo stesso file, possono verificare e risolvere manualmente eventuali conflitti.
Quali sono le funzionalità principali del repository GitHub?
I repository GitHub forniscono agli sviluppatori funzionalità centralizzate di controllo delle versioni, condivisione e collaborazione del codice con le seguenti funzionalità.
Diramazione
La diramazione è il processo di creazione di una copia del repository su GitHib. Per impostazione predefinita, un repository GitHub ha un ramo principale che contiene i codici sorgente originali e i file inizialmente caricati dagli sviluppatori. Nel caso in cui fosse necessario modificare una parte precisa del codice, si crea un nuovo ramo contenente una copia completa dei file dei codici, e il ramo viene denominato di conseguenza.
Gli sviluppatori possono creare diversi rami dallo stesso repository. Ad esempio, gli sviluppatori possono creare un ramo di funzione per la scrittura di codici delle funzioni di un nuovo software e un altro ramo per la risoluzione dei problemi individuati.
Commit
La funzione commit permette agli sviluppatori di salvare tutte le modifiche apportate ai file dei codici nel ramo. Con GitHub, quando apportano delle modifiche, gli sviluppatori possono descrivere le nuove modifiche introdotte nel codice. Grazie alla descrizione delle modifiche da parte degli sviluppatori, i membri del team sono a conoscenza delle modifiche e delle ragioni per cui sono state fatte.
Richiesta pull
Una richiesta pull invia un messaggio ufficiale ad altri collaboratori che lavorano sul ramo principale o al proprietario del ramo per rivedere le modifiche apportate. I collaboratori possono rivedere, commentare o apportare ulteriori cambiamenti alla modifica originale prima di unire il file. Durante la revisione di una richiesta pull, i collaboratori possono vedere le modifiche apportate al codice originale.
Unione
L'unione è un processo GitHub riguardante le modifiche apportate al ramo principale. Ciò avviene quando i collaboratori hanno rivisto e approvato le modifiche apportate. In seguito, inviano una richiesta di unione su GitHub, che avvia una serie di controlli prima di unire le modifiche al codice originale.
Quali sono i tipi di repository Git?
Gli sviluppatori possono creare due tipi di repository Git con diversi livelli di autorizzazioni.
Bare repository
Un bare repository contiene soltanto la cartella dell'indice. Gli sviluppatori non possono modificare i file in un bare repository.
Non-base repository
Un non-bare repository archivia copie di file sorgente su cui gli sviluppatori possono lavorare e a cui possono apportare modifiche.
In che modo AWS supporta i requisiti dei repository?
Con Amazon Web Services (AWS), AWS CodeCommit è un sistema di controllo delle versioni dei codici che è possibile utilizzare per effettuare l'hosting di repository Git privati in modo sicuro. CodeCommit si integra con gli strumenti esistenti basati su Git per dar vita a una pipeline di integrazione e distribuzione continue (CI/CD) senza interruzioni. Ecco alcuni modi in cui è possibile utilizzare CodeCommit:
- Proteggere automaticamente i codici con la crittografia che siano in transito o a riposo
- Tenere i repository vicini all'ambiente AWS
- Configurare flussi di lavoro per la collaborazione sui codici sicuri e scalabili sul cloud AWS
Inizia a usare i repository registrandoti per un account AWS oggi stesso.
Fasi successive su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.