Tutorial: gestire il proprio sito Web con GIT

Dopo molto peregrinare nella jungla del web, sono appena riuscito a rendere gestibile uno spazio web, tramite GIT, ed eccomi qui a condividere con voi questa esperienza passo dopo passo, cercando di ridurre all’osso tutti i passaggi effettuati.

Prima di tutto, cosa è GIT?

Immagino che se state leggendo queste righe, saprete già di cosa sto parlando e volete subito passare al succo dell’articolo ma, per i non geek, cerco di riassumere in breve:

Git è un sistema di “versioning” nato dalla mente di Linus Torvalds (vi dice qualcosa?) ed è oggi tutt’ora il software più usato nel mondo open source, in soldoni è un ambiente dove un dato progetto web, di qualsiasi linguaggio di programmazione, può essere gestito da un numero non definito di persone, e ogni modifica effettuata (commit) viene “inviata” e, previa autorizzazione, viene inclusa nel progetto padre, il tutto senza sovrascrivere le modifiche effettuate da altri. Tutto ciò per creare ordine e per avere a vista d’occhio un quadro più generale di tutte le modifiche effettuate dalla data di apertura del progetto, ad oggi. Inoltre, tutte le vecchie versioni potranno essere recuperate, come una sorta di macchina del tempo.

Passiamo alla configurazione.

Premessa:

il seguente tutorial è stato testato su Debian Stretch (9) e su Mac OS, in pratica ciò che è stato fatto è configurare una repository su Debian (server remoto) e gestire il tutto su client locale su Mac, usando SourceTree (client gratis, che gestisce tra le altre cose, anche GIT).

Con un po di savoir-faire, il procedimento si può effettuare anche su altri sistemi operativi, in quanto GIT è gestito/gestibile da comandi di testo.

  •  Installate GIT, su Debian, con il nostro fido apt-get install git 
  • sul server remoto, posizionatevi via terminale nella cartella dove avete il vostro malloppo di file, ed inizializate git con git init —bare (la variabile bare permette di effettuare push, altrimenti è soltanto “leggibile”)

 

  • ora avrete una cartella chiamata .git , con all’interno altri files e cartelle, andate in /hooks (cd .git/hooks)
  • create un file chiamato post-receive (con il vostro editor preferito, “nano" o "vi" ad esempio: nano post-receive )e all’interno incollate il seguente contenuto, cambiando ovviamente il percorso ed adattandolo al vostro server:
#!/bin/sh
GIT_WORK_TREE=/path/della/vostra/cartella git checkout -f
  • salvate il contenuto (con nano CTRL+O) e settate i permessi di esecuzione sul file con chmod +x post-receive
  • tornate alla webroot del vostro server e aggiungete il contenuto con git add . (c’è un punto, sì)
  • siete pronti per il primo commit, eseguite con il comando git commit -m ‘il mio primo commit!'
  • ora andate sul vostro Mac/Pc e aprite SourceTree (o qualsiasi altro client...o via terminal!)
  • cliccate su Clone a Repository e inserite i vostri dati (io ho scelto di farlo usando SSH ma volendo si può fare anche via HTTP), dopodiché vi apparirà una finestra chiedendovi la password del vostro server. Da terminale vi basterà scrivere git remote add origin ssh://[email protected]/var/www/sitoweb

 

  • fatto ciò non vi rimane altro che effettuare il fetch (in pratica il sync in locale, dei file presenti in remoto), potrete farlo da SourceTree cliccando appunto su Fetch, oppure via terminal con git fetch

Da qui in poi avrete la copia locale della vostra repository, e potrete pubblicare/modificare nuovi files usando dei commit (SourceTree ha il tasto pronto) mentre da terminale potrete usare git commit.

Buona revisions a tutti!

Autore: Simone Tambasco

Geek inside (pure troppo)

Condividi su