Differenze tra le versioni di "Struttura Repository Git"
| Riga 17: | Riga 17: | ||
[[File:GitWorkflow.png]]  | [[File:GitWorkflow.png]]  | ||
| + | |||
| + | I tuoi file in Git possono essere in tre stati: '''committed''', '''modified''' e '''staged'''.   | ||
| + | # committato significa che il file è al sicuro nel database locale.   | ||
| + | # modificato significa che il file è stato modificato, ma non è ancora stato committato nel database.   | ||
| + | # staged significa che hai contrassegnato un file, modificato nella versione corrente, perché venga inserito nello snapshot alla prossima commit.  | ||
==Branching==  | ==Branching==  | ||
Versione delle 16:19, 7 apr 2014
Un repository Git è essenzialmente una cartella sul disco locale, contenente la working directory e la cartella metadata.
La cartella metadata, è una sottocartella con nome .git. Contiene il repository allo stato attuale, comprese tutte le info relative ai commit, history, ecc..
La working directory contiene i file correntemente scaricati (checked out) sulla macchina locale dello sviluppatore, e questi sono i file sui quali si lavora fisicamente.
Un caso a parte è un repository bare, ovvero un repository nel quale risiedono solo i metadata, senza le copie dei file sulle quali si lavora.
Ambiente di lavoro
La tua copia locale del repository è composta da tre "alberi" mantenuti da git
- Working dir o directory di lavoro che contiene i file appartenenti alla versione corrente del progetto sulla quale l’utente sta lavorando.
 - Index o Stage che contiene i file in transito, cioè quelli candidati ad essere committati.
 - Head che contiene gli ultimi file committati.
 
I tuoi file in Git possono essere in tre stati: committed, modified e staged. 
- committato significa che il file è al sicuro nel database locale.
 - modificato significa che il file è stato modificato, ma non è ancora stato committato nel database.
 - staged significa che hai contrassegnato un file, modificato nella versione corrente, perché venga inserito nello snapshot alla prossima commit.
 
Branching
I branch ('ramificazioni') sono utilizzati per sviluppare features che sono isolate l'una dall'altra. Il branch master è quello di default quando crei un repository.
Puoi usare altri branch per lo sviluppo ed infine incorporarli ('merge') nel master branch una volta completati.
