Git documentation'a göre, update-index
alt komutunu kullanarak, herhangi bir sistemdeki (çalıştırılabilir Windows) herhangi bir izlenen dosyadaki "yürütülebilir" bayrağını ayarlayabilir veya kaldırabilirsiniz.
aslında öyle değil, bu normal unix izin sistemi gibi görünüyorsa
git update-index --chmod=-x path/to/file
kullanın
git update-index --chmod=+x path/to/file
kullanmak ve yürütülebilir bayrağını kaldırmak için, yürütülebilir bir dosya belirleyin. Gerçekten, Git yalnızca çalıştırılabilir (x
) iznini veya yalnızca izinsiz olarak ayarlanmasına izin vermez. Git 2.9 ile başlayarak
, bir dosyayı sahneye VE tek bir komut kullanarak bayrağı ekleyebilirsiniz: normal dosyalarda 100644
, 100755
için: Kapağın altında
git add --chmod=+x path/to/file
, Git her dosya için özel bir FileMode korumak çalıştırılabilir olanlar. Sen --stage
seçeneğiyle, ls-file
alt komutunu kullanarak bu modları görselleştirmek:
$ git ls-files --stage
100644 aee89ef43dc3b0ec6a7c6228f742377692b50484 0 .gitignore
100755 0ac339497485f7cc80d988561807906b2fd56172 0 my_executable_script.sh
Varsayılan olarak, Git dosya sistemi özelliklerini onurlandırmak ve buna göre git FileMode ayarlamak çalışacaktır. Sen false core.filemode
seçeneği ayarlayarak bunu devre dışı bırakabilirsiniz:
git config core.fileMode false
diğer bilgiler Git docs bu seçeneği bulunabilir. Eğer Git fileMode ayarlanmamış durumda düştü ama dosya doğru dosya sistemi bayrağı varsa
, modu kaldırmak için denemek ve tekrar ayarlayın:
git update-index --chmod=-x path/to/file
git update-index --chmod=+x path/to/file
Bunu test.sh için yaptığımda, git taahhüt ve bas ve başka bir sunucuda checkout yaparken, bu dosyanın izinleri şunlardır: -rw-rw-r-- 1 kullanıcı kullanıcı 12 Ara 5 11:42 sınama. sh –
Testimi sadece bir havuzumda gerçekleştirdim ve beklendiği gibi çalışıyor. Windows altında sağlanan komutu kullanarak izinler dosyada ayarlandı. Sunucumun (Debian) birinde dosya -rw-r-r-- önce izinler vardı, şimdi -rwxr-xr-x olarak ayarlandı. Yerel ve uzak makinelerde hangi git sürümünü kullanıyorsunuz? – Antwane
git yerel sürümde 1.9.5 sürüm ve kasadaki sunucuda git 1.7.1. –