Working Copy in Git | Aulab
Webinar gratuito: scopri come crescere nel mercato del lavoro grazie alle certificazioni ufficiali in Project Management Registrati

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.”

Hai bisogno di informazioni? 🙋🏻‍♂️

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