Al giorno d'oggi il coding e i programmi di sviluppo software sono in crescita. Di conseguenza, la domanda di programmi utilizzati in questo settore è alle stelle. Questo ha creato un ambiente altamente competitivo nel mondo online dove diversi programmi di coding e DevOps si contendono il titolo del più utilizzato nel loro rispettivo campo. Git è uno di questi programmi. Combinato con il nuovo modello di lavoro remoto per i lavori svolti principalmente davanti a uno schermo, molte persone hanno iniziato a ospitare i loro programmi, incluso Git, su server remoti. Se sei nella stessa situazione e vuoi installare il tuo server Git personale, sei nel posto giusto.
In questo articolo ti spiegherò cos'è esattamente Git e analizzerò i suoi pro e contro, prima di mostrarti i requisiti necessari e come ospitare il tuo server Git personale. Iniziamo!
Che cos'è Git?
Git è un programma DevOps progettato per consentire ai programmatori di gestire i loro progetti e realizzarli nel modo più efficiente possibile. La funzione più cruciale di Git è tracciare i cambiamenti nel codice sorgente nel tempo. Git è gratuito e open-source e riceve aggiornamenti regolari. Questo rende Git uno dei programmi DevOps per il coding più facilmente accessibili e affidabili al mondo. Ogni computer in cui è installata un'istanza di Git funge da directory repository completa con la propria storia separata di tutti i cambiamenti di file. Dopo quasi 20 anni di sviluppo attivo e più di 30 aggiornamenti rilasciati per Git, il programma attualmente è in versione 2.40.0, con altri aggiornamenti futuri in programma. Ora scopriamo alcuni casi d'uso di Git per capire meglio perché vorremmo installare un server Git in primo luogo.
Casi d'uso di Git
Prima di affrettarti a ospitare il tuo server Git locale, familiarizziamoci rapidamente con i principali casi d'uso di Git per capire perché vorrai eseguire un server Git in primo luogo.
Clonazione Repository
Molti sviluppatori preferiscono creare un repository Git su un server per tracciare i programmi e i file di cui hanno bisogno. Git ti permette, con pochi comandi di base, di replicare il tuo repository kernel Linux attuale e utilizzarlo per mantenere un registro delle modifiche molto più coerente ed efficiente dei soli file che ti interessano. Il processo è facile, e puoi gestire con esso progetti di coding piccoli e grandi. Questo processo è noto anche come "".ramificazione", poiché in sostanza crei un nuovo branch dal tuo repository già esistente.
Flusso di Lavoro Git
Git Workflow è un altro caso d'uso importante che userai una volta configurato il tuo server Git. Puoi usare il tuo server Git locale per creare due serie di branch tramite il processo di cloning e far sì che uno di essi rappresenti il tuo progetto, ad esempio un sito web. Poi puoi creare un server Git con un branch di produzione separato in cui tutte le modifiche apportate da ogni singolo sviluppatore verranno registrate e potranno anche essere testate prima dell'implementazione. Non solo questo approccio multi-livello allo sviluppo e ai test aumenta la tua efficienza, ma rende anche il tracciamento del processo di sviluppo e delle modifiche incredibilmente semplice.
Fusione
Ricordi di aver creato branch del tuo repository e del changelog? Come suggerisce il nome, il Merging è l'esatto opposto di quell'operazione. Nel merging, ampiamente considerato l'aspetto più impegnativo di Git, l'obiettivo è immettere i dati da un nodo branch del repository di nuovo nel repository master da cui era stato originariamente diviso. Questo viene solitamente fatto per creare un server Git con un report di progetto completo e una cronologia delle modifiche che includa tutti i cambiamenti del progetto provenienti da diverse aree in un unico repository conciso e facile da leggere. Mentre durante il progetto hai bisogno del branching per evitare confusione, il merging è progettato per invertire l'azione e dare una visione d'insieme più chiara alla fine del progetto durante il troubleshooting.
Ospita il tuo server Git: Pro e contro
Ogni programma ha una serie di pro e contro cruciali che chiunque voglia utilizzarlo deve conoscere. In questa sezione discuterò dei pro e contro applicati a Git. Tuttavia, questi pro e contro si applicano a Git solo se lo self-hosted, che è essenzialmente l'argomento di questa guida, quindi iniziamo.
Git self-hosted: Vantaggi
Nessun coinvolgimento di terze parti
Con Git self-hosted, solo tu e le persone che conosci avrete i mezzi per accedere ai tuoi file. Questo elimina essenzialmente qualsiasi coinvolgimento indesiderato di terze parti e ti permette di proseguire il tuo progetto con tranquillità. I tuoi dati saranno molto più al sicuro e potrai allocare altrove le risorse che avevi riservato per la sicurezza.
Sicurezza
Parlando di sicurezza, Git è sicuro quanto puoi renderlo attraverso le best practice e l'implementazione di strumenti di terze parti. Sebbene il livello di sicurezza diminuisca quando lo self-host piuttosto che utilizzare una soluzione gestita, hai quasi libertà illimitata nel determinare quanto sicura rendere la tua operazione.
Repository Illimitati
Ricordi cloning e branching? Non c'è limite a quanti repository puoi creare con Git. Questo lo rende incredibilmente adatto a progetti più grandi dove ogni branch di sviluppo ha bisogno del suo repository. È anche eccellente per progetti con file di grandi dimensioni come asset 3D e casi in cui lavori con Unity.
Git self-hosted: Svantaggi Svantaggi
Elevati sforzi di gestione
I repository Git possono rapidamente diventare difficili da gestire. Se decidi di configurare un server Git su una piattaforma self-hosted propria, gestire tutti i branch e i metadati può rapidamente diventare un mal di testa. Quindi o devi essere incredibilmente preciso oppure affidare il lavoro a uno sviluppatore esperto.
Curva di apprendimento ripida
Una cosa è ospitare Git, un'altra è padroneggiarlo ed eseguire il tuo server Git locale. Git ha probabilmente uno dei livelli di competenza più alti tra tutti i programmi DevOps basati su repository, e di nuovo devi dedicare molto tempo ad impararlo o affidarlo a qualcun altro.
Nessuna GUI e supporto Windows
Volevi configurare un server Git su Windows? O forse volevi configurare il server Git per funzionare con una GUI? Purtroppo non è possibile. Sei limitato ai sistemi operativi che hanno il kernel Linux come base del codice, e non c'è GUI per aiutarti a semplificare le cose. Vuoi installare un server Git e fare il self-hosting? Meglio imparare le basi del coding.
Metodo Obsoleto
Per ogni metrica possibile, usare Git su un server self-hosted sembra superato e soppiantato da altri metodi più efficienti di eseguire Git. Gli esempi principali di un processo Git più efficiente sarebbero eseguire GitLab, quindi prima di decidere di eseguire il tuo server Git, dai un'occhiata a GitLab anche!
Requisiti necessari per installare un server Git
Andiamo velocemente in rassegna i requisiti necessari per configurare un server Git e ospitare il tuo server Git. Per ospitare Git, hai bisogno solo di due componenti: un server e un'istanza di Git, con una piccola conoscenza di coding per eseguire il processo di configurazione del server Git.
Server Git
Per quanto riguarda il server, puoi usare un altro PC tuo, usare server dedicati da provider tradizionali, oppure se preferisci un approccio più hands-on, usa un VPS cloud (virtual private server). Avendo un VPS puoi gestire direttamente il server e operare l'istanza Git allo stesso tempo. Tieni presente che il tuo server deve avere una distribuzione Linux per configurare un server Git. Cloudzy offre una vasta gamma di Linux VPS servizi che includono più di 10 rinomate distribuzioni Linux come Ubuntu, Debian, CentOS, Kali e OpenSUSE. A partire da soli 4,95 $ al mese, puoi ottenere un affidabile server Linux vicino alla tua posizione per garantire un'ottima qualità di connessione e utilizzarlo per fare self-hosting ed eseguire un server Git!
Scegli un Linux VPS economy o premium per ospitare il tuo sito web o desktop remoto, al prezzo più conveniente disponibile. VPS In esecuzione su Linux KVM per un'efficienza maggiore e in funzione su hardware potente con storage NVMe SSD per una velocità superiore.
Leggi di piùIstanza Git
Configurare un server Git è semplice e lo faremo automaticamente durante l'installazione. Come detto, Git è open-source e gratuito. Questo lo rende preferibile a molti altri programmi repository orientati allo sviluppo. Ora che abbiamo i requisiti, vediamo subito la guida passo dopo passo per installare un server Git sul tuo server Linux!
Installa un server Git su Linux (Guida passo dopo passo)
Passaggio 1: Scarica e installa Git
Ecco il primo passaggio per installare un server Git. Nel terminale della tua distribuzione Linux, esegui questo comando per iniziare a scaricare Git:
Distro basate su Ubuntu/Debian:
sudo apt install git
Distro basate su Arch:
sudo pacman -S git
Distro basate su RHEL:
sudo dnf install git
Questo comando scaricherà e installerà Git sul tuo server Linux. Attendi il completamento del processo.
Passaggio 2: Registra e configura il server Git
Se hai un server locale su un altro computer, avvialo; altrimenti, se hai VPS, usa SSH o RDP per connetterti al tuo server Linux da remoto. Ora configureremo il server Git per funzionare da remoto. Lo faremo creando un account Git con questo comando:
ssh username@address
sudo useradd git
Poi esegui questo comando per passare all'account appena creato:
su git
Questo passaggio serve soprattutto a garantire la sicurezza del tuo server Git locale. Con questo account, sei l'amministratore del server. Puoi organizzare in sicurezza i futuri utenti in gruppi con limitazioni e livelli di accesso predefiniti.
Passaggio 3: Crea directory SSH e Crea un repository Git sul server
Il passo successivo nell'installazione del server Git è creare una directory SSH esclusiva per salvare i chiavi pubbliche e creare un repository Git sul server con ulteriori livelli di sicurezza e livelli di accesso definiti per te. Inizia eseguendo questo comando:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Una volta limitato l'accesso agli altri con questa riga di comando, esegui il comando successivo per assicurarti che le tue chiavi SSH siano archiviate in sicurezza in una authorized_keys cartella, dove solo tu puoi accedervi (esegui questo comando solo se NON hai un id_rsa.pub file):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Infine, copia la chiave pubblica SSH che hai creato per configurare una nuova connessione SSH con maggiore sicurezza al tuo server Git locale:
cd .ssh
vi authorized_keys
Passaggio 4: Crea una directory principale
Sul tuo server Linux, devi creare una nuova directory per salvare tutti i repository che Git userà nei tuoi futuri progetti. Puoi approfondire come gestire i tuoi repository Git. Esegui questo comando:
mkdir directory_name
Passaggio 5: Aggiungi il tuo progetto!
Hai creato con successo un server Git! Il processo di installazione è concluso e hai configurato il server Git con successo. Non ti resta che aggiungere altri progetti con questo comando:
cd parent_directory
mkdir new_project.git
Poi esegui questo comando per aggiungere l'origine remota al tuo computer locale:
git init --bare
git remote add origin name git@address:new_project.git
Infine, esegui un Git push per verificare che tutto funzioni correttamente:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Perfetto, hai configurato con successo Git e creato un repository Git sul server.
Domande frequenti
Posso ospitare Git senza un server?
No. Indipendentemente dal tipo di server, hai bisogno di hardware che agisca come server. Puoi usare GitHub come server cloud per i tuoi repository oppure usare le nostre VPS offerte o rivolgerti a un altro servizio di hosting di terze parti per il tuo server.
C'è un modo per installare un Git server con interfaccia grafica?
Sì. Anche se Git stesso non supporta un'interfaccia grafica, esiste una versione standalone chiamata "Git GUI" per chi non vuole rinunciare a questo tipo di interfaccia.
Git ha un piano a pagamento?
No. Git è sempre stato e sempre sarà un programma gratuito e open-source, come confermano i suoi sviluppatori e creatori originali. Puoi usare il programma come base per lo sviluppo del tuo progetto, altrimenti il programma è completamente gratuito.
Perché dovresti ospitare il tuo Git server?
Se stai lavorando a un progetto piccolo con pochi repository, l'auto-hosting è molto più privato e sicuro. Questo è il motivo principale. Ma quando i tuoi progetti crescono e i repository aumentano, l'auto-hosting inizia a perdere efficienza.