Come utilizzare Git per inviare il tuo sito locale in tempo reale

Pubblicato: 2022-10-18

Molte aziende fanno grandi sforzi per rendere lo sviluppo di siti Web semplice per l'utente medio. Questo ha senso, perché ci sono proprietari di siti che non hanno (o vogliono) il tempo per imparare ogni aspetto della gestione di un sito locale. Tuttavia, con un po' di ricerca, puoi usare Git per gestire il processo di pubblicazione del tuo sito. Questo ti dà un po' più di sicurezza e, una volta impostato tutto, un percorso più semplice per apportare modifiche al sito.

Anche così, arrivare a quel punto è certamente difficile. Ci sono molti prerequisiti da considerare, abilità che devi avere e strumenti a portata di mano. Inoltre, le prime volte dovrai riflettere sul processo, perché c'è molto da ricordare. Tuttavia, l'utilizzo di Git per inviare un sito live è possibile per quasi tutti gli utenti e non deve essere complicato come pensi.

Per questo tutorial, ti mostreremo passo dopo passo come usare Git per inviare un sito locale a un server live. Innanzitutto, esaminiamo alcuni degli strumenti e delle tecnologie che presenteremo nel post.

Un'introduzione a Git

Per chi non lo sapesse, Git è un sistema di controllo della versione (VCS). È un modo per salvare e registrare le modifiche apportate a un progetto, spesso un'app o un sito Web. È qualcosa che tocchiamo altrove, ma dovrai saperne di più per questo tutorial.

Il repository GitHub di WordPress.

Il modo tipico di utilizzare Git è tramite una Command Line Interface (CLI): se hai esperienza con WP-CLI, è un approccio simile. Utilizzerai i comandi per contrassegnare e organizzare i file su cui lavori in diversi modi:

  • Prima di emettere comandi, i file rimarranno "non gestiti". Ciò significa che non fanno parte del tuo "repository" Git (la directory che memorizza la tua cronologia).
  • Emetterai un comando per mettere in scena tutti o alcuni dei tuoi file, a quel punto puoi ancora lavorarci.
  • Al termine, esegui il commit dei file nel "repo" dall'area di staging. Questo è come salvare quelle modifiche.

Può essere più complicato di così, ma per la maggior parte utilizzerai solo una manciata di comandi per svolgere il lavoro quotidiano con Git.

Utilizzo di Git per lo sviluppo basato su team

Git è uno strumento chiave per i team di sviluppo, perché ogni sviluppatore aprirà un "ramo" diverso all'interno dello stesso repository. Ciò significa che tutti possono lavorare al progetto senza influire sui file per gli altri. A intervalli regolari, spesso come ultimo compito della giornata, il team comporterà le modifiche al repo.

Un membro senior del team cercherà quindi di "unire" tutti i rami e le modifiche insieme al main o al trunk del repo. A questo punto, avrai il set definitivo di file di progetto all'interno del repository.

Per un singolo sviluppatore – probabilmente tu – Git ha ancora valore come una sorta di strumento di salvataggio incrementale. Aprirai una nuova filiale, lavorerai sul tuo sito, quindi eseguirai lo stage e eseguirai il commit di tali modifiche. Significa che puoi fare quello che vuoi sul ramo senza influire su nessun altro file sul tuo sito. Quando vuoi eseguire il commit (o eliminare) puoi farlo.

Una guida rapida sullo sviluppo locale di WordPress

Prima di andare avanti, dobbiamo notare che lavorare sul tuo sito lontano dal tuo server live è una pratica tipica consigliata. Se non lo fai ancora, dai un'occhiata al nostro pezzo su come installare WordPress. Inoltre, potresti prendere in considerazione un'app dedicata per lavorare sul tuo sito.

Il logo DevKinsta.

Local by Flywheel è una buona opzione, ma lo è anche DevKinsta. Indipendentemente da ciò, ci sono molti modi per creare un sito locale ed è qualcosa che vorrai avere in atto.

Perché vorresti usare Git per inviare un sito locale dal vivo

Il motivo principale per cui vorrai utilizzare Git per pubblicare il tuo sito è quello che abbiamo menzionato sopra: la flessibilità. La natura di Git significa che avrai un ramo principale che funge da set definitivo di file di progetto. Tuttavia, puoi aprire tutti i nuovi rami di cui hai bisogno: in effetti, è esattamente il modo in cui i grandi team utilizzano Git su larga scala.

Con questo approccio, puoi creare un nuovo ramo per lavorare sul design della home page del tuo sito, senza la necessità di influenzare i tuoi file core. Considera un ramo una sorta di clone che unisci nuovamente al tuo ramo principale tramite commit a fasi.

Tuttavia, ci sono alcuni altri motivi per cui Git è utile:

  • Puoi ospitare questo repository Git in qualsiasi posizione. GitHub e GitLab sono due siti che si concentrano sull'hosting di repository Git. Da lì, puoi coinvolgere altri membri del team o sviluppatori se hai bisogno di ulteriore supporto. Puoi persino migrare un sito con facilità.
  • Ovviamente, non avrai bisogno di lavorare sul tuo sito live, il che è fantastico dal punto di vista della sicurezza e delle prestazioni. Tuttavia, puoi scegliere di inviare solo i file su cui lavori. Ciò offre immensi vantaggi perché non è necessario toccare il database di WordPress. Questo è l'obiettivo chiave dello staging del sito Web ed è possibile farlo utilizzando Git e un'installazione locale.

Tuttavia, per arrivare a questo punto, ti consigliamo di avere a portata di mano una serie di strumenti, abilità e prerequisiti. Successivamente, esamineremo quali sono.

Di cosa avrai bisogno prima di utilizzare Git per inviare i siti in tempo reale (strumenti e competenze)

Vale la pena notare cosa dovresti già avere in atto prima ancora di pensare a quali extra avrai bisogno. Ad esempio, assicurati di avere a portata di mano quanto segue:

  • Una versione locale del tuo attuale sito web.
  • Accedi al tuo pannello di controllo e server di hosting come amministratore.

Da qui, puoi considerare cos'altro ti serve per usare Git con il tuo sito locale e server live:

  • Dovrai installare Git sul tuo computer. Spesso lo si ottiene tramite la riga di comando.
  • A proposito, ti consigliamo di conoscere come utilizzare la riga di comando. In particolare, dovresti sapere come spostarti nel tuo computer, creare directory e file e anche rimuoverli.
  • Conoscenza dell'accesso Secure Shell (SSH) per il tuo server e almeno familiarità con la creazione di chiavi sicure. Puoi saperne di più su questo nel nostro articolo sul Secure File Transfer Protocol (SFTP).

Questo dovrebbe essere sufficiente per iniziare, ma menzioneremo nel resto dell'articolo se qualcos'altro richiede la tua attenzione.

Come utilizzare Git per inviare il tuo sito locale in tempo reale

Ci sono quattro passaggi che dovrai eseguire per configurare tutto. Ecco cosa tratteremo:

  1. Configurazione di un repository Git per il tuo sito locale.
  2. Configurazione di un repository Git remoto.
  3. Dire al tuo repository Git dove ha bisogno di spingere le modifiche.
  4. Aggiunta di un collegamento remoto e invio delle modifiche in tempo reale.

C'è molto da fare qui, quindi iniziamo!

1. Configura un repository Git per il tuo sito locale

Sebbene ci siano alcuni modi per configurare i repository Git, lo faremo usando la riga di comando poiché è il modo più tipico. Con una finestra di Terminale aperta, prima vai alla directory locale del tuo sito:

Passare a una cartella locale utilizzando il Terminale e la riga di comando.

Per configurare l'architettura necessaria per il tuo repository Git, esegui i seguenti comandi uno alla volta:

 git init git add .

Il primo comando creerà la directory di cui hai bisogno e la nasconderà, mentre il secondo aggiungerà tutti i file all'interno della directory del tuo sito all'area di gestione temporanea di Git: il punto è un modificatore "jolly":

Inizializzazione di un repository Git e aggiunta di file utilizzando la riga di comando.

Per vedere quali file si trovano nell'area di staging, usa il comando git status :

Esecuzione di git status per vedere quali file sono in stage.

Da qui, ti consigliamo di eseguire un commit iniziale di queste modifiche per popolare il tuo repository locale. Lo fai usando il seguente comando:

git commit -m "Initial commit."

Il flag -m dice al comando che quello che segue è il tuo messaggio di commit. Dovrai comunque farlo per ogni commit ed è più semplice farlo da un'unica posizione.

Da qui, hai tutto configurato sul tuo computer. Successivamente è il momento di lavorare sul server remoto.

2. Configura un repository Git sul server live del tuo sito

Il processo qui è simile alla configurazione locale, ma richiede l'accesso al server tramite SSH. L'uso di questo va oltre lo scopo di questo articolo, ma possiamo indicarti un post di Tom McFarlin che delinea i passaggi di cui hai bisogno. In alternativa, puoi sempre chiedere al tuo host: non dovrebbero avere problemi a mostrarti dove si trovano queste credenziali.

Dopo aver effettuato l'accesso al tuo server tramite la riga di comando, ti consigliamo di navigare in un'area privata del tuo server in modo che gli utenti esterni non possano accedere al tuo repository Git. La directory è spesso /private/ , anche se vorrai chiedere al tuo host in merito.

All'interno di questa directory, ti consigliamo di creare un'altra directory e navigare verso di essa:

 mkdir remoterepo.git cd remoterepo.git

Finché la directory utilizza l'estensione .git , puoi chiamarla come preferisci. Da qui, inizializza un nuovo repository git all'interno della directory, questa volta usando il flag –bare:

git --bare init

Questo crea il repository di cui hai bisogno senza i file di progetto, che è sicuro e consigliato.

3. Crea un "Hook" per il tuo repository e imposta le autorizzazioni file corrette

Mentre sei nel server, dovrai creare un file per dire a Git dove inviare le modifiche. Innanzitutto, esegui il nano hooks/post-receive command . Questo apre un editor della riga di comando chiamato Nano e crea il file nella directory corretta.

All'interno di questo file, aggiungi quanto segue:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

/home/user/example.com dovrebbe puntare alla posizione esatta dei file live del tuo sito. Il username dovrebbe essere quello con cui hai effettuato l'accesso alla shell e example.com dovrebbe essere il dominio del tuo sito live. Una volta fatto, salva le modifiche.

Il passaggio finale qui è impostare le autorizzazioni file corrette per questo file. Puoi farlo usando il comando chmod +x hooks/post-receive . Il comando Change Mode (chmod) è il modo in cui si impostano i permessi dei file dalla riga di comando – +x significa impostare i permessi di esecuzione .

Una volta fatto, digita exit per uscire dal terminale remoto. Da qui, dovrai tornare al tuo repository Git locale all'interno del Terminale.

4. Aggiungi un collegamento remoto al tuo repository locale e invia le modifiche locali in tempo reale

Qui, torna al tuo repository Git locale usando il comando cd se necessario. Dovrai aggiungere un collegamento al tuo server remoto, in modo che entrambi i repository Git possano parlare tra loro. Lo farai con il seguente comando:

git remote add origin ssh://[email protected]/~/remoterepo.git

L'URL esatto per il repository Git dipenderà dalla posizione che hai scoperto nell'ultimo passaggio. Ovviamente, le tue credenziali utente e server sostituiranno i segnaposto qui.

Esegui questo comando, quindi preparati a inviare le modifiche locali al tuo server live. Il seguente comando lo farà senza conferma, quindi assicurati di volerlo fare:

git push -u origin main

Vedrai il Terminale visualizzare un riepilogo di conferma...

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

…e a questo punto puoi controllare il tuo sito live: le modifiche dovrebbero essere presenti e corrette.

In sintesi

Lavorare sul tuo sito web è un compito necessario e spesso quotidiano. L'utilizzo di un ambiente locale è il modo tipico per farlo, ma c'è un problema: come si ottengono quelle modifiche al tuo sito live che siano prive di errori e con il minimo sforzo?

La risposta potrebbe essere usare Git per inviare le modifiche apportate al tuo server live. Ciò ti consente di caricare solo i file a cui apporti modifiche, quindi la maggior parte dell'installazione e del database rimangono così com'è. Sebbene tu abbia bisogno di alcune conoscenze e strumenti per far funzionare tutto, è un cambiamento del flusso di lavoro che potrebbe vedere lo sviluppo del tuo sito locale alle stelle in termini di produttività ed efficienza.

Pensi che utilizzerai Git per inviare in tempo reale le modifiche al sito locale? Facci sapere i tuoi pensieri nella sezione commenti qui sotto!