How to chmod 0777 a file and commit as is to Git o

2020-05-25 04:23发布

问题:

I'm working on Windows and on the production there's a Linux system and I'd like to chmod some files to 0777, but I don't know how to do it on Windows. I rather not do it on production, because I'm unable to commit/push there.

Is there a way to chmod 0777 a file on Windows and commit it to Git so that it stays 0777 when I clone/pull on the production?

回答1:

If you want to mark the file as executable, you can use

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

If you really want to have the file writable for everyone, you would have to set up a post-update hook on the linux system, because git does not track file permissions, only the executable bit.



回答2:

An alternative solution is to install Cygwin on Windows.

Cygwin emulates a Unix-like environment but all cygwin programs run natively on your Windows machine. It is not a virtual machine. However, cygwin binaries are compiled with the cygwin libraries which allows them to understand stuff like unix style file permissions that normal Windows programs don't understand.

So you need to install a version of git for Cygwin. Just select git from the Cygwin installer when first installing Cygwin.