Nel precedente capitolo abbiamo illustrato i comandi base di Git per lavorare su un repository, che sia stato creato da zero sul proprio computer o che sia stato recuperato da uno già esistente ospitato su un server remoto.
Prima di entrare più nel dettaglio, è opportuno chiarire meglio alcuni concetti base di Git e come questi impattino sull’effettivo flusso di lavoro.
Repository in Git
Un repository Git tiene traccia e salva la cronologia delle modifiche apportate ai file della directory in cui il repository è stato inizializzato.
Nella pratica, il repository Git del progetto “my-project” che si trova sul nostro computer nella directory “my-project” è la directory nascosta .git dentro la quale sono salvati tutti i dati necessari a Git per gestire cronologia e stato.
my-project / +- .git/ | +- index | +- refs/ | ... +- README.md +- server.php | ...
È particolarmente importante notare che:
- eliminando la directory .git viene eliminata l’intera cronologia del progetto. La directory my-project torna ad essere una directory “normale”.
- non è detto che tutti i file presenti nella directory my-project facciano parte del repository (solo i file che sono stati espressamenti aggiunti al repository entrano di diritto nella history)
Ci sono due modi per ottenere un repository Git:
- inizializzare il repository in una directory attualmente non sotto controllo di versione (git init)
- clonare un repository esistente (git clone)