2011-08-13 11 views
54

Windows'ta git'i cygwin ile kullanıyorum ve yakında filemode=false'u kullanmaya karar verdim (aksi halde başlangıç ​​git klonundan sonra birçok değişiklik yaptım). Kesinlikle izleme izniyle ilgilenmiyorum, sadece ihtiyacım olan bazı dosyaların çalıştırılabilir olduğunu düşünüyorum. Zaman zaman, bazı dosyalardaki x bayrağının kaybolduğunu görüyorum ve bunun sebebi olduğunu düşünüyorum.Git, cygwin'de yürütülebilir olmayan dosyaları yapmaktan nasıl vazgeçilir?

Gerektiğinde, chmod a+x ...'u yürütmesine izin veren bir çözümden memnun olurum.

cevap

95

git update-index --chmod=+x <file>'u ve ardından bir taahhütte bulunmayı istediğinizi düşünüyorum.

+0

ben fileMode = FALSE 'kullanıyorum çünkü, yardımcı, bu yüzden ben sonra bir şey yapmak zorunda varsayalım sanmıyorum dosyaları git git (git'e koymanın aksine). Git her değiştiğinde veya bir dosya oluşturduğunda geçerli olan bir şey. Ayrıca, otomatik olarak çalışmalıdır. – maaartinus

+2

[Dokümanlar] (http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html#_configuration) özellikle bu komutu filemode = false olan sistemler için önerir. Doğru şekilde anlarsam, bu ayar yalnızca _automatic_ izinlerinin algılanması için geçerlidir. Git, hala bir 'git ls ağacı KAFASI 'yaptığınızda ilk sütun olan bir filemode depolar. 755 yerine 644 olarak görünüyorsa, o dosyayı yazarken git çalıştırılabilir biti ayarlamaz. –

+0

Görüyorum ki yanlış anladım "filemode = false". Her nasılsa düşündüm, bu bitleri saklamak, ancak "dizin ve çalışma kopyası arasındaki çalıştırılabilir bit farklılıkları göz ardı edilir". – maaartinus

4

Aynı sorunu yaşadım. git update-index --chomd = + x benim için çalışmıyor.

Ben chmod + x kullanıyorum, daha sonra, mükemmel çalışıyor.

+0

Ya da güncelleme indeksini kullanın, taahhüt edin, dosyayı tekrar kontrol edin. –

5

git update-index --chmod=+x <file> ile başlamanız gerekir. Bunun için

Ama bu çalışma kopyasını değişmez:

git checkout . 
İlgili konular