git update-index --assume-unchanged <filename>
restituisce fatal: Unable to mark file <filename>
.git update-index --assume-invariati restituisce l'errore
Cosa devo fare per risolvere questo problema? Di cosa si lamenta e perché?
git update-index --assume-unchanged <filename>
restituisce fatal: Unable to mark file <filename>
.git update-index --assume-invariati restituisce l'errore
Cosa devo fare per risolvere questo problema? Di cosa si lamenta e perché?
È aggiunto al repository, non in .git/info/exclude
e non su .gitignore
?
Se la risposta è sì a uno di questi, il file non si trova nel repository e questo è il motivo dell'errore.
Prova git ls-files -o
e verifica se il file è presente. Non dovrebbe essere.
Continuerai a ricevere lo stesso errore se i tuoi file sono in staging, quindi potresti dover prima eseguire un 'git reset HEAD
Si sta utilizzando git update-index --assume-unchanged
perché si dispone di file controllati nel repository ma si desidera ignorare le modifiche locali.
Come sottolinea Pedro, il file che ti dà l'errore non viene controllato nel repository. (Si presenta in git ls-files -o
che significa che è non tracciata.)
Questo può avvenire perché si sta cercando di ignorare un'intera directory ricorsivamente in questo modo:
find ./folder/ -type f | xargs git update-index --assume-unchanged
Ma non solo sono i file in quella cartella modificati , sono stati creati nuovi file. (. Per esempio da uno script di build)
Se si è certi che si desidera ignorare tutti i file modificati, è possibile farlo con questo comando:
git ls-files -m | xargs git update-index --assume-unchanged
Ma attenzione. Ricordati che fare scherzi con --assume-unchanged
può essere un problema.
Considerare le operazioni di rielaborazione in modo che i file non debbano necessariamente essere nel repository. Quindi puoi aggiungerli al tuo .gitignore
ed eliminarli dal repository con git rm --cached
.
Se è possibile mantenere i file fuori dal repository e dalle directory di lavoro degli utenti, potrebbe essere l'ideale. Ad esempio, se i file vengono creati come parte della costruzione, è possibile creare una libreria statica invece di fare eseguire localmente il processo di compilazione a ogni sviluppatore.
Hai capito? Fammi sapere così posso aggiornare la risposta con quello che ti è successo esattamente. –