Спробуйте:
git config core.fileMode false
З 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).
-c
Прапор може бути використаний для встановлення цієї опції для разових команд:
git -c core.fileMode=false diff
І --global
прапор зробить це поведінкою за замовчуванням для зареєстрованого користувача.
git config --global core.fileMode false
Зміни глобальної настройки не застосовуватимуться до існуючих сховищ. Крім того, git clone
і в git init
явному вигляді встановити core.fileMode
для true
в конфігурації репо , як описано в Git глобальної core.fileMode БРЕХНЯ переопределяется локально на клоні
Увага
core.fileMode
не є найкращою практикою, і її слід використовувати обережно. Цей параметр охоплює лише виконуваний біт режиму і ніколи не читає / записує біти. У багатьох випадках ви вважаєте, що вам потрібен цей параметр, тому що ви зробили щось подібне chmod -R 777
, зробивши всі свої файли виконаними. Але в більшості проектів більшість файлів не потребують і не повинні виконуватись з міркувань безпеки .
Правильним способом вирішення подібної ситуації є обробка дозволу на папки та файли окремо, таким чином:
find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \; # Make files read/write
Якщо ви це зробите, вам ніколи не доведеться користуватися core.fileMode
, за винятком дуже рідкісних умов.