Come fare in modo che Git ignori le modifiche nel caso?
Domanda
Non sono sicuro di cosa stia succedendo qui, ma a volte un file particolare nel mio repository cambia le maiuscole del suo nome.per esempio.,:
Prima: File.h
Dopo: file.h
Non mi interessa davvero il motivo per cui ciò sta accadendo, ma questo fa sì che git pensi che sia un nuovo file, e quindi devo andare a cambiare nuovamente il nome del file.Puoi semplicemente fare in modo che Git ignori le modifiche al caso?
[modificare]Sospetto che Visual Studio stia facendo qualcosa di strano con quel particolare file, perché sembra che accada più spesso quando lo apro e lo salvo dopo le modifiche.Tuttavia, non ho alcun modo per correggere i bug in VS, ma spero che git dovrebbe essere un po' più capace.
Soluzione
Dalla versione 1.5.6 esiste un ignorecase
opzione disponibile in [core]
sezione di .git/config
per esempio.aggiungere ignorecase = true
Per modificarlo per un solo repository, da quella cartella esegui:
git config core.ignorecase true
Per modificarlo a livello globale:
git config --global core.ignorecase true
Altri suggerimenti
Nella versione git 1.6.1.9 per Windows ho scoperto che "ignorecase=true" nella configurazione era già impostato per impostazione predefinita.
Puoi forzare git a rinominare il file in modalità case-only con questo comando:
git mv --cached name.txt NAME.TXT
Tieni presente che questo non cambia il caso del file nella tua copia estratta su una partizione Windows, ma git registra la modifica del caso e puoi eseguire il commit di tale modifica.Le casse future utilizzeranno il nuovo involucro.
La situazione descritta nella domanda si sta ora ripresentando con Mac OS X, versione git >= 1.7.4 (credo).La cura è impostare ignorecase=false e rinominare manualmente i file in minuscolo (che git ha cambiato in questo modo, non Visual Studio) nel loro UsualCase (ad esempio'mv mionome mionome').
Ulteriori informazioni Qui.