Working Copy in Git | Aulab

GUIDE PER ASPIRANTI PROGRAMMATORI

Working Copy in Git

Il concetto di Working Copy in Git (detta anche working directory o working tree) è strettamente legato al fatto che un repository Git gestisce la sequenza di snapshot (commit) di determinati file contenuti in una directory. Per capire cosa è e come funziona la working copy è, però, forse, più semplice farne un esempio: Nel…

Lezione 10 / 52
Luca Ferretti
Immagine di copertina

Vuoi avviare una nuova carriera o fare un upgrade?

Trova il corso Digital & Tech più adatto a te nel nostro catalogo!

Il concetto di Working Copy in Git (detta anche working directory o working tree) è strettamente legato al fatto che un repository Git gestisce la sequenza di snapshot (commit) di determinati file contenuti in una directory.

Per capire cosa è e come funziona la working copy è, però, forse, più semplice farne un esempio:

Nel momento in cui viene clonato un repository esistente remoto, per esempio https://example.com/project.git, Git compie le sequenti azioni:

  • crea una directory locale vuota project
  • copia dentro questa directory tutti gli snapshot (commit) presenti sul repository remoto (in project/.git)
  • individua l’ultimo snapshot (commit) della history
  • estrae il contenuto di tutti i file corrispondente all’ultimo snapshot (commit)

La working copy in Git è, quindi, ciò che Git mette a disposizione dello sviluppatore web sul suo computer locale nel momento in cui gli si chiede (direttamente o indirettamente) di tirare fuori dalla history uno specifico commit.

Nel momento in cui apportiamo modifiche ai file estratti dallo snapshot (commit) o ne aggiungiamo/rimuoviamo/spostiamo/copiamo alcuni, Git può stabilire quali file sono cambiati nella working copy rispetto al commit da cui è stata estratta la working copy stessa. In particolare i file nella working copy possono trovarsi nei seguenti stati:

  • Unmodified – il file locale e lo snapshot da cui è stato estratto hanno lo stesso contenuto
  • Untracked – il file locale non è presente nello snapshot
  • Modified – il file locale contiene modifiche rispetto alla snapshot da cui è stato estratto

Per completezza, nel glossario di Git si parla di “working tree” ed è definito come “The tree of actual checked out files.”

Sei indeciso sul percorso? 💭

Parliamone! Scrivici su Whatsapp e risponderemo a tutte le tue domande per capire quale dei nostri corsi è il più adatto alle tue esigenze.

Oppure chiamaci al 800 128 626