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 17: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.