Come configurare un repository GIT remoto privato.
In questa piccola guida, vedremo come impostare su un server remoto, del quale si dispone di un accesso SSH (non necessariamente di root), un repository GIT sul quale tenere i backup del nostro repository locale e/o mettere a disposizione di altre persone con tale accesso il codice e le modifiche in corso.Ci sono molti privider di "free shell", ovvero di account SSH gratuiti su server privati che si potrebbero sfruttare per l'occasione, oppure si potrebbe usare un proprio server "casalingo" ... insomma, la scelta è vostra :)
Bon ... diciamo che voi avete una cartella chiamata "Progetto" nella vostra home directory la quale contiene il codice sorgente che state scrivendo, prima di tutto vediamo come inizializzare un repository git locale in quella cartella.
cd ~/Progetto git init . git add * git commit -m "Questo è il commit iniziale."Bene, con questo abbiamo inizializzato il repository in locale importando tutti i file e taggando il primo commit con il messaggio "Questo è il commit iniziale.".
Per verificare che il repo è stato creato correttamente
git statusOvviamente nella stessa directory, e se riceverete un messaggio del genere:
# On branch masternothing to commit (working directory clean)
Tutto è andato a buon fine.
Ora, dovremmo creare una copia temporanea "esportabile" di questo repository, quindi :
git clone --bare ~/Progetto/.git /tmp/myrepo.git
Fatto questo, dobbiamo copiare via ssh (quindi tramite scp) questo repo temporaneo sul server remoto, diciamo nella cartella /home/utente/Progetto.git dove "utente" è il vostro nome utente su quel server :
scp -r /tmp/myrepo.git utente@vostro-server.com:/home/utente/Progetto.git
Naturalmente sostituite "utente" e "vostro-server.com" rispettivamente con il vostro nome utente e l'indirizzo o nome host del server sul quale volete copiare il repository.
A questo punto torniamo in locale nella directory del nostro progetto poichè dobbiamo "dirgli" quale repository remoto utilizzare per il pushing :
git remote add origin ssh://vostro-server.com/home/utente/Progetto.git
Abbiamo finito! ^^
Fate le vostre modifiche in locale, add-ate i file, committate e per inviare le modifiche al repo remoto vi basterà un :
git push
Se volete che qualcun'altro possa clonare il repository da remoto con tutte le modifiche storicizzate (visualizzabili tramite il comando git log per i commit, o git diff per tutte le modifiche ai file), dovrete dirgli di eseguire il comando :
git clone vostro-server.com/home/utente/Progetto.git
E naturalmente di inserire username e password SSH che voi gli darete ^^
Nel caso in cui il server dovesse rifiutare il vostro primo push, darete questi comandi (sul server):
cd /home/utente/Progetto.gitgit config receive.denycurrentbranch ignore
Per un riferimento su come usare git nello sviluppo di "tutti i giorni", vi rimando al link Git For The Lazy.













