Un file viene tracciato se è sotto controllo di versione.
Come un piccolo esempio, un progetto C++ avrebbe
Makefile
main.cpp
interface.hpp
worker.cpp
come file di origine; metti questi sotto controllo di versione. Durante la compilazione,
main.o
worker.o
myapp
vengono generati; questi non appartengono al controllo della versione, quindi non utilizzare git add
su di essi. Rimangono untracked, perché a git non importa cosa succede loro. Fino a quando non li aggiungi a .gitignore
(i file .o vengono ignorati per impostazione predefinita), git non sa se desideri aggiungerli o ignorarli, quindi li visualizza con il comando git status
finché non prendi una decisione.
Se un file è tracciato o meno dipende anche dalla versione - si supponga di generare automaticamente worker.cpp
e di rimuoverlo dal controllo di versione in una versione successiva. Il file è ora non tracciato in quella versione. Quando torni a una versione in cui il file era ancora sotto controllo di versione, git rifiuterà di sovrascrivere quel file durante il checkout.
fonte
2012-03-12 08:15:34
È del tutto errato dire che un "file tracciato" è uno che è stato aggiunto una volta E COMMESSO. Un file tracciato è semplicemente un file che esiste nell'albero dell'indice - come è potuto arrivare a causa di un checkout di un ramo o a causa di un add o a causa di un comando diretto di Git plumbing. – Jazimov