Provare:
git config core.fileMode false
Da git-config (1) :
core.fileMode
Tells Git if the executable bit of files in the working tree
is to be honored.
Some filesystems lose the executable bit when a file that is
marked as executable is checked out, or checks out a
non-executable file with executable bit on. git-clone(1)
or git-init(1) probe the filesystem to see if it handles the
executable bit correctly and this variable is automatically
set as necessary.
A repository, however, may be on a filesystem that handles
the filemode correctly, and this variable is set to true when
created, but later may be made accessible from another
environment that loses the filemode (e.g. exporting ext4
via CIFS mount, visiting a Cygwin created repository with Git
for Windows or Eclipse). In such a case it may be necessary
to set this variable to false. See git-update-index(1).
The default is true (when core.filemode is not specified
in the config file).
Il -c
flag può essere utilizzato per impostare questa opzione per i comandi una tantum:
git -c core.fileMode=false diff
E il --global
flag lo renderà il comportamento predefinito per l'utente che ha effettuato l'accesso.
git config --global core.fileMode false
Le modifiche alle impostazioni globali non verranno applicate ai repository esistenti. Inoltre, git clone
e git init
in modo esplicito impostare core.fileMode
per true
la configurazione dei pronti contro termine, come discusso in Git globale core.fileMode falsa override localmente sul clone
avvertimento
core.fileMode
non è la migliore pratica e dovrebbe essere usato con attenzione. Questa impostazione copre solo il bit eseguibile della modalità e mai i bit di lettura / scrittura. In molti casi pensi di aver bisogno di questa impostazione perché hai fatto qualcosa di simile chmod -R 777
, rendendo eseguibili tutti i tuoi file. Ma nella maggior parte dei progetti la maggior parte dei file non ha bisogno e non dovrebbe essere eseguibile per motivi di sicurezza .
Il modo corretto di risolvere questo tipo di situazione è gestire le autorizzazioni per cartelle e file separatamente, con qualcosa come:
find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \; # Make files read/write
Se lo fai, non dovrai mai usarlo core.fileMode
, tranne in un ambiente molto raro.