Il titolo originale era “Impostare un GIT con SSH su un server” ma dopo molteplici problemi, nonostante sovente funzioni senza problemi, mi sono scocciato e ho provato il caro vecchio metodo in https che rende tutto moooooolto più semplice. Perché vi chiederete? Beh, una chiave SSH va creata, aggiunta alla lista di chiavi ssh della macchina e associata ad un progetto specifico. Questo non è male, se non fosse che capita che il sistema vada in fallo.

A me, proprio fino a qualche minuto fa e dopo ore di lotta, continuava a dirmi che la repository non esisteva e che non poteva farne un git pull, nonostante git checkout e git status fossero perfettamente funzionanti. Non ho ancora capito quale sia il problema ma causa tempi ristretti (siamo sempre tutti in ritardo di un giorno ancora prima di partire, lo sappiamo) ho optato per il sempre affidabile clone in https. Come farlo rapidamente su GitHub?

Fase 1: la clonazione

Andare nella cartella predefinita e scrivere (ovviamente inserendo i giusti valori:

git clone https://github.com/nome_o_compagnia/nome_repo.git

Qui chiederà nome e password. Cosa mettere? Il nome utente sarà il vostro di GitHub MA! ATTENZIONE! la password dovrà essere generata specificatamente e sarà un TOKEN!

Fase 2: creare il token

Come creiamo questo Token? Semplice: da questo link: https://github.com/settings/tokens/new

Qui scriviamo un nome che riconosciamo (tipo il nome del progetto o del sito ad esempio) e spuntiamo solo il primo blocco “repo” e tutte le sue voci (se vuoi personalizzare questa parte ok ma attieniti alle sole “repo”) così da non dare la possibilità a chi potrebbe trovare questo token di accedere, modificare e cancellare dati che non vanno toccati.

APPUNTIAMOCI SUBITO IL TOKEN in quanto non verrà più mostrato (e andrà rifatta questa procedura), dopodiche torniamo sulla console.

Fase 3: the end

Nella console il git sta ancora aspettando il nostro token. Incolliamo il token appena creato e come per magia tutto si muoverà!

Fase Bonus: one more thing (like a PRO)

Noterete che ad ogni richiesta git ci verranno chiesti nome e password. C’è modo di evitare che ciò avvenga tutte le volte, soprattutto se vogliamo creare un sistema di pubblicazione automatizzato. Scriviamo in console:

git config credential.helper store

Questo comando va scritto in console PRIMA di un git pull o un git push così che, quando richiederà di inserire nome utente e password, le salverà nel sistema git integrato nel server, al sicuro da occhi indiscreti e non vi sarà più chiesto!