Git Ignora i file che sono già stati impegnati in un repository Git


Esempio

Se hai già aggiunto un file al tuo repository Git e ora vuoi smettere di seguirlo (in modo che non sia presente in future commit), puoi rimuoverlo dall'indice:

git rm --cached <file>

Questo rimuoverà il file dal repository e impedirà che ulteriori tracce vengano tracciate da Git. L'opzione --cached farà in modo che il file non venga cancellato fisicamente.

Nota che i contenuti aggiunti in precedenza del file saranno ancora visibili tramite la cronologia di Git.

Tieni presente che se qualcun altro preleva dal repository dopo aver rimosso il file dall'indice, la sua copia verrà eliminata fisicamente .


Puoi far credere a Git che la versione di directory di lavoro del file sia aggiornata e leggere invece la versione dell'indice (ignorando così le modifiche) con il bit " skip worktree ":

git update-index --skip-worktree <file>

La scrittura non è influenzata da questo bit, la sicurezza del contenuto è ancora la priorità principale. Non perderete mai i vostri preziosi cambiamenti ignorati; d'altra parte questo bit è in conflitto con la memorizzazione: per rimuovere questo bit, usare

git update-index --no-skip-worktree <file>

A volte è erroneamente consigliato mentire a Git e presumere che il file sia immutato senza esaminarlo. A prima vista sembra ignorare qualsiasi ulteriore modifica al file, senza rimuoverlo dal suo indice:

git update-index --assume-unchanged <file>

Ciò costringerà git a ignorare qualsiasi modifica apportata al file (tieni presente che se si apportano modifiche a questo file o se lo si archivia, le modifiche ignorate andranno perse )

Se vuoi che git "ripensi" a questo file, esegui il seguente comando:

git update-index --no-assume-unchanged <file>