Come si prepara e carica un progetto esistente in GitHub?

Completato

In questa unità vengono presentate le considerazioni importanti per il caricamento di un progetto in GitHub.

Perché caricare un progetto in GitHub?

Esistono volumi di letteratura che esaltano le virtù di GitHub, e convincere gli utenti ad aderire va oltre lo scopo di questo modulo. Tuttavia, in questo modulo vengono riepilogati alcuni dei principali vantaggi nel contesto degli argomenti che è necessario prendere in considerazione quando si pianifica il caricamento.

Controllo della versione

GitHub usa in modo esclusivo Git, probabilmente il miglior sistema di controllo della versione disponibile. Tuttavia, Git è incredibilmente sofisticato e può creare alcuni scenari complessi per l'uso di codice con cui il team potrebbe non avere familiarità. I rami e le richieste pull costituiscono una parte fondamentale della vita quotidiana degli sviluppatori che usano Git e di conseguenza è necessario saper identificare quando e come usarli in modo efficace in GitHub. È opportuno che il team abbia familiarità con il flusso di GitHub, per poter iniziare in modo ottimale.

Mantenere il codice nel cloud

Una grande quantità di codice del progetto viene ancora archiviato esclusivamente nei computer degli sviluppatori. Quando si esegue il caricamento in GitHub, si sposta il codice nella piattaforma cloud di GitHub, dove i membri del team possono accedervi facilmente da qualsiasi posizione. Questa modifica offre una buona opportunità di esaminare i criteri del team per i tipi di file e dati mantenuti nel controllo della versione. Come procedura consigliata, è consigliabile presupporre che tutto ciò di cui si esegue il commit in GitHub sia potenzialmente compromesso. Assicurarsi quindi di non includere dati sensibili, ad esempio chiavi API, password o altri file contenenti informazioni confrontabili.

Nota

GitHub offre repository pubblici e privati, nonché controlli di accesso granulari per diverse parti di un repository. In questo modo è possibile controllare a chi sono visibili i progetti e quali azioni può eseguire un determinato utente.

Collaborazione

GitHub offre un supporto eccellente per la collaborazione tra team tramite funzionalità come problemi, richieste pull e revisioni del codice. Il flusso di GitHub, tuttavia, potrebbe essere diverso dalle procedure alle quali il team è attualmente abituato. È consigliabile prendere in considerazione il modo in cui il team si potrebbe adattare a GitHub e se conservare o meno i processi esistenti.

Se il progetto è un progetto open source che consente collaboratori esterni, non esiste una soluzione migliore di GitHub per massimizzare questi vantaggi.

Caricare in GitHub

Considerazioni sul piano

L'aspetto più importante da considerare prima di eseguire il caricamento in GitHub è se sia necessario mantenere altri elementi oltre lo stato corrente dell'origine. Ad esempio, è possibile usare un foglio di calcolo o un software di gestione dei progetti per tenere traccia dei bug che si prevede di correggere. Il supporto per la migrazione di questi elementi varia in base alla piattaforma ed è generalmente disponibile con i progetti della community. Questo modulo non illustra la migrazione di quel tipo di dati.

Gestire i file binari attualmente archiviati nel progetto

Come procedura consigliata, i repository GitHub devono essere limitati ai file necessari per la compilazione di progetti. Evitare di eseguire il commit di file binari di grandi dimensioni, ad esempio artefatti della compilazione. I file binari, tra cui fogli di calcolo e presentazioni, sono più adatti per essere monitorati sui portali che sono in grado di renderli disponibili e controllarne la versione correttamente. Se è necessario controllare la versione di file binari di grandi dimensioni, provare a usare l'estensione Git LFS (Large File Storage, archiviazione di file di grandi dimensioni).

Creare file di Git importanti, ad esempio un file con estensione gitignore

Git supporta file con estensione .gitignore per consentire l'applicazione di criteri dei file di controllo della versione. Questi file definiscono i criteri di ricerca usati per escludere file e cartelle dal rilevamento del controllo del codice sorgente. L'esempio seguente esclude in modo ricorsivo qualsiasi cartella denominata Bin o bin, nonché il relativo contenuto, dal rilevamento del controllo del codice sorgente.

[Bb]in/

Altre informazioni su come ignorare file. Vedere anche la raccolta di file .gitignore iniziali offerti per diverse piattaforme nel repository gitignore.

Sono disponibili molti altri file comunemente usati nei progetti GitHub per spiegare i diversi criteri a utenti e collaboratori del repository. Anche se il progetto è privato e limitato a un numero ridotto di destinatari, può comunque essere utile esprimere in modo esplicito questi criteri. Anche se nessuno di questi file è necessario, qui ne sono elencati alcuni dei più comuni.

file Scopo
README.md Pagina di destinazione per la directory. Il rendering di questa pagina viene eseguito quando in GitHub viene visualizzata la relativa directory.
LICENSE.md Questo file contiene la licenza con cui viene fornito il codice.
CONTRIBUTING.md Descrive in che modo gli utenti devono contribuire al progetto, ad esempio le aspettative riguardo alle richieste pull.
SECURITY.md Illustra i criteri di sicurezza per il progetto. Questo file fornisce linee guida agli utenti che vogliono inviare codice sensibile correlato alla sicurezza o feedback che non deve essere rivelato pubblicamente prima della risoluzione delle questioni sollevate.

Altre informazioni sulla configurazione del progetto per contributi validi.

Caricare il progetto in GitHub

Dopo aver preparato il repository per il caricamento, creare un repository in GitHub. Al termine della creazione, passare alla scheda Code (Codice) del repository GitHub. Questa visualizzazione consente di eseguire il caricamento del codice del progetto in diversi modi.

Screenshot dell'importazione di codice in un repository GitHub.

Per caricare l'origine, è consigliabile usare il client git o uno strumento compatibile con Git. In alternativa, è possibile caricare manualmente i file usando il collegamento creating a new file (creando un nuovo file). A lungo termine, probabilmente si nota che l'uso di un client git è il modo migliore per gestire modifiche, rami e altro.