Controllo di Versione Git: Ospitare e Gestire Repository in cPanel

Con il Controllo di Versione Git in cPanel è possibile creare, clonare e gestire repository Git direttamente all'interno del proprio account di hosting. Git è ideale per organizzare in modo tracciabile le modifiche ai file del sito web, template, temi, asset o progetti software. Invece di sovrascrivere manualmente i file, si lavora con versioni, commit e branch.

Per sviluppatori, agenzie e gestori di siti web avanzati, Git rappresenta una componente essenziale di un flusso di lavoro pulito. Le modifiche possono essere preparate e testate localmente per poi essere trasferite sul server in modo mirato. In questo modo si mantiene una panoramica migliore su quali file siano stati modificati, quando e perché.

La funzione Git in cPanel è particolarmente utile se si desidera clonare un progetto esistente da una piattaforma come GitHub, GitLab o Bitbucket sul proprio account di hosting, oppure se si desidera creare un nuovo repository direttamente sul server. A seconda della configurazione dell'hosting, è inoltre possibile utilizzare i deployment per trasferire i file in una directory di destinazione in modo controllato.

Panoramica Controllo di Versione Git cPanel
Nota importante:
Senza accesso Shell o SSH, l'utilizzo di Git in cPanel è limitato. È possibile creare, clonare, visualizzare e rimuovere i repository tramite l'interfaccia. Per i repository privati, le chiavi SSH, i repository remoti multipli o comandi Git più complessi è generalmente richiesto l'accesso alla Shell/Terminal.

Cos'è Git e perché è utile?

Git è un sistema di controllo di versione. Non si limita a salvare i file, ma documenta la cronologia delle modifiche del progetto. Ogni modifica può essere salvata come un cosiddetto commit. Questo permette di capire in seguito quali file siano stati modificati, quando sia avvenuta la modifica e quale descrizione sia stata associata.

Git è particolarmente d'aiuto quando:

  • più persone lavorano allo stesso progetto,
  • le modifiche devono essere documentate in modo tracciabile,
  • le nuove funzioni devono essere prima testate,
  • si desidera un processo di deployment sicuro,
  • non si vuole più sovrascrivere il codice "alla cieca" via FTP,
  • un sito web viene gestito direttamente da un repository.

Soprattutto per i siti web professionali, Git offre un grande vantaggio. Invece di caricare manualmente i singoli file tramite FTP, le modifiche possono essere applicate in modo controllato. Ciò riduce gli errori e rende lo sviluppo più tracciabile a lungo termine.

Cosa può fare la funzione Git in cPanel?

Il Controllo di Versione Git in cPanel offre un'interfaccia grafica per le attività di base dei repository. Consente di creare repository, clonare repository esistenti, visualizzare i repository gestiti da cPanel ed eseguire determinate azioni di gestione.

Le funzioni tipiche includono:

  • creare nuovi repository Git nell'account di hosting,
  • clonare repository esistenti da fonti esterne,
  • aggiungere repository Git locali esistenti alla gestione di cPanel,
  • visualizzare le informazioni dei repository in una panoramica,
  • selezionare o gestire i branch, per quanto supportato dall'interfaccia,
  • recuperare (fetch) o distribuire (deploy) le modifiche, se configurato,
  • visualizzare la cronologia tramite Gitweb,
  • rimuovere i repository dalla gestione di cPanel.

Tuttavia, l'interfaccia di cPanel non sostituisce tutte le funzioni di Git da riga di comando. Per attività avanzate come strategie di branch complesse, conflitti di merge, configurazione di chiavi SSH, remote multipli o Git hook personalizzati, è normalmente necessaria la riga di comando.

Creare un repository o clonare un repository?

Quando si configura un repository Git in cPanel, esistono fondamentalmente due percorsi tipici: si crea un nuovo repository direttamente nell'account di hosting oppure si clona un repository già esistente da una piattaforma esterna.

Clonare un repository

Si copia un progetto Git esistente da una fonte esterna sul proprio account di hosting. Questo è utile se il progetto si trova già su GitHub, GitLab, Bitbucket o un altro server Git.

Richiede un URL di clonazione valido, ad esempio tramite HTTPS o SSH.

Creare un nuovo repository

Si crea un nuovo repository Git in una cartella del proprio account di hosting. Questo è utile se un nuovo progetto deve iniziare direttamente sul server o se una cartella esistente dovrà essere versionata in futuro.

La directory di destinazione deve essere idonea e, a seconda della situazione, non deve essere già occupata da file non compatibili.

Configurare un nuovo repository Git in cPanel

La denominazione esatta dei campi può variare leggermente a seconda della versione di cPanel e della lingua. Il procedimento di base rimane comunque simile.

Istruzioni passo dopo passo

  1. Accedere a cPanel.
  2. Nella sezione File, aprire la funzione Controllo di Versione Git (o Git Version Control).
  3. Cliccare su Crea (o Create).
  4. Decidere se si desidera clonare un repository esistente o crearne uno nuovo.
  5. In caso di clonazione, inserire l'URL di clonazione del repository esterno.
  6. Definire il percorso del repository, ovvero la directory in cui il repository deve essere salvato.
  7. Assegnare un nome visualizzato esplicativo.
  8. Verificare attentamente tutti i dati.
  9. Cliccare su Crea per configurare il repository.

Se si clona un repository esterno, il processo può richiedere del tempo a seconda delle dimensioni del progetto. Nel frattempo, alcune azioni nell'interfaccia potrebbero essere temporaneamente non disponibili.

URL di clonazione: HTTPS o SSH?

Quando si clona un repository esterno, è necessario un URL di clonazione. Questo può apparire diverso a seconda della piattaforma e del tipo di accesso.

Tipo Esempio Nota
HTTPS https://example.com/user/repo.git Spesso semplice per i repository pubblici. Per i repository privati sono necessarie credenziali aggiuntive o token.
SSH git@example.com:user/repo.git Frequentemente opportuno per i repository privati, ma richiede chiavi SSH correttamente configurate.
git:// git://example.com/user/repo.git Non raccomandato per progetti riservati o privati.

cPanel consente determinati formati per gli URL di clonazione, inclusi URL con http://, https://, ssh://, git:// o formati simili a SSH come user@example.com:path. Le credenziali non dovrebbero essere inserite direttamente come combinazione nome utente-password nell'URL.

Importante per i repository privati:
I repository privati richiedono un'autenticazione aggiuntiva. In molti casi, a tale scopo sono necessari l'accesso SSH e una configurazione corretta delle chiavi SSH. Se non è possibile clonare un repository privato, la causa è spesso dovuta a chiavi SSH mancanti o configurate in modo errato.

Scegliere correttamente il percorso del repository

Il percorso del repository determina dove il repository Git verrà salvato nel proprio account di hosting. Questo percorso dovrebbe essere scelto consapevolmente. Non tutte le cartelle sono adatte e alcune directory di sistema sono bloccate per i repository gestiti da cPanel.

Esempi appropriati possono essere:

  • /home/utente/repositories/mio-progetto
  • /home/utente/git/mio-tema
  • /home/utente/public_html/progetto, se si desidera intenzionalmente che il repository si trovi direttamente nella directory web

Per i siti web di produzione, è spesso più pulito non utilizzare il repository effettivo direttamente come directory web pubblica, ma configurare un deployment separato nella directory di destinazione desiderata. In questo modo si evita che i file di sviluppo, i file di configurazione o i file di progetto non necessari diventino accessibili al pubblico.

Restrizioni sui percorsi e caratteri vietati

cPanel impone restrizioni sui percorsi dei repository per proteggere le aree di sistema ed evitare problemi tecnici. I repository non possono essere creati in determinate directory controllate da cPanel. Queste includono directory quali .cpanel, .ssh, .trash, etc, logs, mail, ssl, tmp o aree di sistema simili. Anche alcuni caratteri speciali non sono consentiti nei percorsi dei repository.

Cartelle di sistema Non creare repository in cartelle controllate da cPanel come .cpanel, .ssh, mail, ssl, tmp o directory di sistema simili.
Caratteri speciali Evitare spazi e caratteri speciali nei percorsi. Utilizzare nomi chiari con lettere minuscole, numeri e trattini.
Cartelle di destinazione vuote Quando si crea un nuovo repository, la directory di destinazione dovrebbe essere vuota o adeguatamente preparata. I file già esistenti possono causare conflitti.

Un percorso pulito per un repository potrebbe essere, ad esempio, git/mio-progetto o repositories/sito-cliente. Evitare nomi come Mio Progetto 2026! o percorsi contenenti caratteri speciali.

Gestire il repository: Manage, History e Remove

Dopo aver creato oclonato un repository, questo appare nella panoramica di cPanel. Lì, a seconda della versione di cPanel e dello stato del repository, sono disponibili diverse azioni.

  • Gestisci / Manage: Apre le impostazioni del repository. Qui è possibile verificare le impostazioni gestite da cPanel, recuperare le modifiche o eseguire un deployment, se configurato.
  • Cronologia / History: Apre la visualizzazione Gitweb. Lì è possibile esaminare i commit, i file e la cronologia del progetto direttamente nel browser.
  • Rimuovi / Remove: Rimuove il repository dalla gestione di cPanel. Questo interrompe la gestione da parte di cPanel; secondo la documentazione di cPanel, i dati del repository nella directory non vengono cancellati automaticamente da questa azione.
Importante durante la rimozione:
La rimozione dall'interfaccia Git di cPanel non equivale alla cancellazione completa di tutti i file di progetto. Se si desidera eliminare effettivamente i file, essi devono essere rimossi separatamente. Prima di qualsiasi operazione di cancellazione, verificare attentamente se si necessita di un backup.

Deployment con Git in cPanel

Un repository da solo non significa automaticamente che il vostro sito web venga aggiornato in tempo reale. Con un deployment, i file del repository vengono trasferiti o aggiornati in una directory di destinazione. In cPanel, a seconda della configurazione, un deployment può essere eseguito manualmente tramite l'interfaccia o tramite Git hook.

For i deployment di cPanel viene spesso utilizzato un file denominato .cpanel.yml. Questo file descrive quali azioni debbano essere eseguite durante il deployment, ad esempio la copia di determinati file in una directory di destinazione.

Un esempio semplificato può apparire così:

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/utente/public_html/
    - /bin/cp -R * $DEPLOYPATH

Questo esempio serve solo a scopo illustrativo. Il percorso /home/utente/public_html/ deve essere adattato al proprio account di hosting effettivo. Inoltre, non tutti i progetti dovrebbero essere distribuiti in modo generico con cp -R *, poiché ciò potrebbe copiare anche file che non dovrebbero essere accessibili al pubblico.

Nota di sicurezza sul deployment:
Includere nel deployment solo i file che devono essere realmente accessibili al pubblico. File di sviluppo, credenziali, configurazioni locali, file di build o documentazioni non appartengono automaticamente alla directory web.

La directory .git e la sicurezza

Un repository Git contiene una directory interna denominata .git. Al suo interno si trova la cronologia delle versioni del progetto. Questa directory è tecnicamente importante e non deve essere modificata o cancellata manualmente.

cPanel adotta misure di protezione affinché la directory .git non sia accessibile pubblicamente tramite il browser per i repository gestiti da cPanel. Ciononostante, è opportuno prestare attenzione con i siti web di produzione se i repository si trovano direttamente nella directory web. Una netta separazione tra il repository e la destinazione del deployment rappresenta spesso la struttura più sicura.

Avviso:
Non modificare o cancellare mai manualmente i contenuti all'interno della cartella .git. Ciò può danneggiare la cronologia delle versioni e rendere il repository inutilizzabile.

Flusso di lavoro raccomandato per i siti web

Un flusso di lavoro Git pulito aiuta a evitare errori e rende le modifiche tracciabili. Per molti siti web è adatto il seguente procedimento:

  1. Sviluppare e testare le modifiche localmente sul proprio computer.
  2. Salvare le modifiche con commit Git esplicativi.
  3. Trasferire le modifiche in un repository centrale, ad esempio su GitHub, GitLab o Bitbucket.
  4. Clonare o aggiornare il repository in cPanel.
  5. Eseguire un deployment controllato nella directory web desiderata.
  6. Testare il sito web nel browser dopo il deployment.
  7. In caso di problemi, verificare la cronologia di Git e le ultime modifiche distribuite.

Questo procedimento è decisamente più sicuro rispetto a modifiche estemporanee effettuate direttamente sul server di produzione. Specialmente per progetti di clienti, shop o siti web di produzione, le modifiche dovrebbero essere il più possibile tracciabili e riproducibili.

Git e WordPress: Cosa è opportuno fare?

Git può essere utile anche nei progetti WordPress, ma dovrebbe essere impiegato consapevolmente. WordPress è composto da file e da un database. Git gestisce le versioni dei file, non automaticamente i contenuti del database come articoli, pagine, impostazioni o ordini.

Per WordPress, Git è adatto ad esempio per:

  • temi personalizzati,
  • plugin personalizzati,
  • temi child (child theme),
  • file di configurazione senza credenziali sensibili,
  • file di progetto per lo sviluppo e il deployment.

Di norma, non è opportuno inserire nel controllo di versione l'intera cartella wp-content/uploads con file multimediali di grandi dimensioni o le directory di cache. Tali contenuti possono gonfiare inutilmente un repository.

Cosa non appartiene a un repository Git?

Non tutti i file dovrebbero essere salvati in Git. Dovrebbero essere esclusi in particolare i file sensibili o generati automaticamente.

  • Credenziali e password
  • File .env con impostazioni riservate
  • Directory di cache
  • File temporanei
  • File di upload o multimediali di grandi dimensioni, a meno che non si desideri intenzionalmente versionarli
  • File di sviluppo locali
  • Backup e archivi ZIP
  • Dipendenze generate, se sono riproducibili tramite i gestori di pacchetti

A tale scopo si utilizza solitamente un file denominato .gitignore. In questo file si stabilisce quali file o cartelle Git debba ignorare.

# Esempio di un semplice .gitignore
.env
*.log
cache/
tmp/
node_modules/
vendor/
*.zip

Quali voci siano opportune dipende dal progetto. Le esclusioni tipiche differiscono tra siti web PHP, Node.js, WordPress o statici.

Problemi comuni con Git in cPanel

Problema Possibile causa Soluzione
Il repository non può essere clonato URL di clonazione errato, repository privato, chiavi SSH mancanti o accesso negato. Verificare l'URL di clonazione, testare l'accesso, controllare la configurazione delle chiavi SSH.
Il repository non appare in cPanel Il repository è stato creato tramite la riga di comando o si trova in un percorso non supportato. Aggiungere il repository tramite cPanel o verificare le restrizioni del percorso.
Il deployment copia file errati File .cpanel.yml difettoso o regole di copia definite in modo troppo ampio. Verificare il file di deployment e definire esattamente i percorsi di destinazione.
La connessione al repository privato fallisce Chiave SSH mancante, chiave inserita errata o chiave host non confermata. Verificare l'accesso SSH e la configurazione delle chiavi.
Il sito web mostra un errore dopo il deployment Deployment incompleto, branch errato, dipendenze mancanti o codice difettoso. Verificare l'ultimo commit, controllare il branch, testare i log e l'applicazione.

Best Practices per i repository Git nel Web Hosting

  • Utilizzare nomi di repository chiari e senza caratteri speciali.
  • Se possibile, evitare di posizionare i repository direttamente in cartelle di sistema sensibili.
  • Separare il repository e la directory web pubblica, qualora sia possibile un processo di deployment.
  • Non salvare password, chiavi API o credenziali nel repository.
  • Utilizzare un file .gitignore adeguato.
  • Documentare le modifiche con messaggi di commit esplicativi.
  • Testare i deployment dopo ogni modifica.
  • Non modificare mai manualmente la cartella .git.
  • Utilizzare repository privati per progetti riservati.
  • Verificare attentamente i permessi SSH e di accesso per i repository esterni.

FAQ sul controllo di versione Git in cPanel

Posso usare Git in cPanel senza SSH?

Sì, con limitazioni. Tramite l'interfaccia di cPanel è possibile creare, clonare, visualizzare e rimuovere i repository. Tuttavia, per i repository privati, le chiavi SSH, i repository remoti multipli o i comandi Git più complessi è generalmente richiesto l'accesso Shell/SSH.

Posso clonare un repository GitHub privato?

Sì, fondamentalmente è possibile, ma richiede un'autenticazione aggiuntiva. Spesso a tale scopo è necessaria una configurazione con chiave SSH. Senza chiavi correttamente configurate, l'accesso ai repository privati di solito fallisce.

Il mio sito web si aggiornerà automaticamente quando clono un repository?

No, non automaticamente in tutti i casi. Un repository clonato si trova inizialmente in una directory del proprio account di hosting. Affinché le modifiche appaiano in tempo reale sul sito web, il repository deve trovarsi direttamente nella directory web oppure deve essere configurato un deployment nella directory web.

Cos'è Gitweb?

Gitweb è una visualizzazione da browser con cui è possibile esaminare la cronologia, i commit e i contenuti di un repository. Serve per scopi di panoramica e analisi, ma non sostituisce un ambiente di sviluppo completo.

Cosa succede se rimuovo un repository da cPanel?

Il repository viene rimosso dalla gestione di cPanel e non appare più nell'interfaccia Git. Secondo la documentazione di cPanel, i file nella directory del repository non vengono cancellati automaticamente. Se si desidera rimuovere completamente i dati, è necessario eliminarli separatamente.

Dovrei inserire il mio repository direttamente in public_html?

Questo è tecnicamente possibile, ma non sempre raccomandato. Per molti progetti è più sicuro memorizzare il repository al di fuori della directory web pubblica e distribuire solo i file necessari in modo mirato all'interno di public_html.

Git può gestire le versioni del mio database?

No. Git gestisce le versioni dei file. I contenuti del database come gli articoli di WordPress, gli ordini del negozio o le impostazioni del CMS non vengono automaticamente versionati in questo modo. A tale scopo sono necessarie strategie di backup o di migrazione separate.

Riepilogo:
Il Controllo di Versione Git in cPanel consente di creare, clonare e gestire i repository direttamente nel proprio account di hosting. Git si adatta particolarmente ai flussi di lavoro professionali dei siti web, a modifiche tracciabili e a deployment controllati. Per i repository privati, le chiavi SSH e le attività Git complesse è spesso necessario l'accesso Shell/SSH. Prestare particolare attenzione a percorsi di repository sicuri, a un .gitignore pulito e a non salvare dati riservati nel repository.
Avete bisogno di supporto con Git o con il deployment?

Se desiderate clonare un repository, configurare chiavi SSH o preparare un deployment sicuro per il vostro sito web, il supporto di CURIAWEB sarà lieto di assistervi.

Crea una richiesta di supporto
Hai trovato utile questa risposta? 1 Utenti hanno trovato utile questa risposta (1 Voti)