2012-11-19 10 views
17

Sto lavorando su Windows e sulla produzione c'è un sistema Linux e vorrei chmod alcuni file su 0777, ma non so come farlo su Windows. Preferisco non farlo in produzione, perché non sono in grado di impegnarmi/spingere lì.Come chmod 0777 un file e impegnarsi così com'è a Git su Windows?

C'è un modo per chmod 0777 un file su Windows e impegnarlo in Git in modo che rimanga 0777 quando clono/tiro sulla produzione?

+0

Quando si utilizza GIT Bash o GIT Shell su Windows dovrebbe consentire il comando chmod. – eisberg

+2

Lo vuoi solo eseguibile ('0755') o lo vuoi * davvero * lo vuoi' 0777'? –

risposta

32

Se si desidera contrassegnare il file come eseguibile, è possibile utilizzare

git update-index --chmod=+x <your_file> 

Se si vuole veramente avere la scrivibile di file per tutti, si dovrebbe istituire un gancio post-update sul sistema Linux, perché git non tiene traccia dei permessi dei file, solo il bit eseguibile.

-1

Una soluzione alternativa è installare Cygwin su Windows.

Cygwin emula un ambiente simile a Unix ma tutti i programmi cygwin vengono eseguiti in modo nativo sulla macchina Windows. Non è una macchina virtuale. Tuttavia, i binari Cygwin sono compilati con le librerie cygwin che permettono loro di capire cose come permessi di file stile unix che i normali programmi Windows non capiscono.

Quindi è necessario installare una versione di git per Cygwin. Basta selezionare git dal programma di installazione di Cygwin quando si installa per la prima volta Cygwin.

+1

Cygwin ha affermato che il mio file era già + x, ma quando è stato selezionato su una macchina simile a Unix non lo era. L'esecuzione di 'chmod + x ' non ha modificato il bit eseguibile che git stava monitorando. La risposta di @ crater2150 ha funzionato. –

+0

idem, apparentemente non sufficiente. git update-index come da @ creater2150 ha funzionato anche per me. –

Problemi correlati