Deneyin:
git config core.fileMode false
Kaynaktan git-yapılandırma (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
Bayrak tek seferlik komutlar için bu seçeneği ayarlamak için kullanılabilir:
git -c core.fileMode=false diff
Ve --global
bayrak oturum açan kullanıcı için varsayılan davranışı yapacaktır.
git config --global core.fileMode false
Genel ayardaki değişiklikler mevcut depolara uygulanmaz. Ayrıca, git clone
ve git init
açık bir şekilde ayarlanabilir core.fileMode
için true
de tartışıldığı gibi repo config klon üzerinde geçersiz kılınan yerel Git küresel core.fileMode YANLıŞ
Uyarı
core.fileMode
en iyi uygulama değildir ve dikkatli kullanılmalıdır. Bu ayar yalnızca çalıştırılabilir mod bitini kapsar ve asla okuma / yazma bitlerini kapsamaz. Çoğu durumda chmod -R 777
, tüm dosyalarınızı yürütülebilir hale getirmek gibi bir şey yaptığınız için bu ayara ihtiyacınız olduğunu düşünüyorsunuz . Ancak çoğu projede çoğu dosyanın güvenlik nedeniyle çalıştırılması gerekmez ve çalıştırılmamalıdır .
Bu tür bir durumu çözmenin uygun yolu, klasör ve dosya iznini ayrı bir şekilde ele almaktır:
find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \; # Make files read/write
Bunu yaparsanız core.fileMode
, çok nadir ortamlar dışında asla kullanmanız gerekmez .