Mencoba:
git config core.fileMode false
Dari 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).
The -c
flag dapat digunakan untuk mengatur opsi ini untuk satu-off perintah:
git -c core.fileMode=false diff
Dan --global
bendera akan membuatnya menjadi perilaku default untuk pengguna yang masuk.
git config --global core.fileMode false
Perubahan pengaturan global tidak akan diterapkan ke repositori yang ada. Selain itu, git clone
dan git init
secara eksplisit diatur core.fileMode
ke true
dalam konfigurasi repo seperti yang dibahas dalam Git global core.fileMode palsu yang ditimpa secara lokal pada klon
Peringatan
core.fileMode
bukan praktik terbaik dan harus digunakan dengan hati-hati. Pengaturan ini hanya mencakup bit mode yang dapat dieksekusi dan tidak pernah bit baca / tulis. Dalam banyak kasus Anda merasa Anda perlu pengaturan ini karena Anda melakukan sesuatu seperti chmod -R 777
, membuat semua file Anda dapat dieksekusi. Tetapi dalam kebanyakan proyek sebagian besar file tidak perlu dan tidak boleh dieksekusi karena alasan keamanan .
Cara yang tepat untuk menyelesaikan situasi semacam ini adalah dengan menangani izin folder dan file secara terpisah, dengan sesuatu seperti:
find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \; # Make files read/write
Jika Anda melakukannya, Anda tidak perlu menggunakannya core.fileMode
, kecuali di lingkungan yang sangat langka.