1) Per iniziare a ignorare le modifiche a un singolo file già con versione
git update-index --assume-unchanged "main/dontcheckmein.txt"
e per annullarlo git update-index --no-assume-unchanged "main/dontcheckmein.txt"
documenti github per ignorare i file
2) Ignorare completamente un singolo file specifico impedendone la creazione nel repository
Per prima cosa, guarda questo post di StackOverflow: Git Global Ignore non funziona
In .gitignore
, aggiungi il percorso relativo al file senza lead ./
.
Quindi, se il tuo file è MyProject/MyFolder/myfile.txt
, (dove si .git
trova anche nella MyProject
cartella), aggiungi MyFolder/myfile.txt
al tuo .gitignore
file.
Puoi confermare quali regole sono associate a ignora tramite git check-ignore "MyFolder/myfile.txt"
A proposito di globale ignorare
Quel link parla ~/.gitignore_global
, ma il file è legato al tuo progetto. Quindi, se si mette il modello esclude MyFolder/myfile.txt
in ~/.gitignore_global
, funzionerà, ma non ha molto senso ...
D'altra parte, se si imposta il progetto con git config core.excludesfile .gitignore
dove si .gitignore
trova MyProject
, il file locale avrà la precedenza ~/.gitignore_global
, il che può avere regole molto utili ...
Quindi, per ora, penso che sia meglio fare qualche script per mescolare il vostro .gitignore
con ~/.gitignore_global
a .gitignore
.
Un ultimo avvertimento
Se il file che si desidera ignorare è già nel repository, questo metodo non funzionerà a meno che non si esegua questa operazione: git rm "MyFolder/myfile.txt"
ma prima eseguirne il backup, poiché verrà rimosso anche localmente! Puoi copiarlo più tardi ...