mercoledì 14 maggio 2014

Clonare un repository da GitHub


Ecco una breve guida per effettuare il clone di un repository di codice sorgente da GitHub, modificarlo e poi sottomettere le modifiche. Il tutto direttamente da linea di comando. Com'è ovvio, occorre aver installato in locale git.

Per prima cosa occorre creare una directory e posizionarvisi sopra.

Quindi occorre effettuare il 'cloning':

git clone https://github.com/guildenstern70/cpp11learn.git
git status

Questa operazione crea un'esatta replica di tutti i file sul repository, non solo i sorgenti ma anche tutti i file ancillari, ad esempio la 'History'.

'git status' mi dà un feedback delle operazioni effettuate.

A questo punto posso cominciare a modificare i miei file. Quando ho finito il lavoro, occorre mettere in 'stage' le modifiche, che saranno così pronte per essere committate: lo si fa con il comando 'add':

git add <files...>
git status

Con il comando 'add' aggiungo i file che non erano presenti, oppure indico quali file esistenti sono stati modificati - esatto, è lo stesso comando per entrambe le operazioni.

Quando sono pronto per rendere operative le modifiche, effettuo il commit in locale:

git commit
git status

Ora occorre dare un nome al branch remoto, ad esempio: github. In questo modo posso indicare su quale repository lavorare, quello in locale, che normalmente è indicato come 'master' e quello in remoto, che qui chiamo 'github', ma che normalmente si indica come 'origin':

git remote add github https://github.com/[username]/[projectname].git
git remote -v

L'indirizzo https del repository si trova sul sito github del repository stesso.

Infine, per sincronizzare il repository locale con quello remoto, cioè in un certo senso per fare l'upload delle modifiche si dà il comando 'push':

git push -u github master

Viene chiesta la nostra username e password su GitHub, e dopo averle inserite, il gioco è fatto.

1 commento:

Massimiliano Arione ha detto...

Se si usa il repository quotidianamente, l'inserimento delle credenziali è più che fastidioso. Io quindi uso come remote l'url con ssh e ovviamente ho impostato la mia email nel file ~/.gitconfig (ce ne dovrebbe essere uno analogo per sistemi "non standard") e ho una chiave ssh