I have a project in which I have to change the mode of files with chmod
to 777 while developing, but which should not change in the main repo.
Git picks up on chmod -R 777 .
and marks all files as changed. Is there a way to make Git ignore mode changes that have been made to files?
Best Answer
Try:
From git-config(1):
The
-c
flag can be used to set this option for one-off commands:And the
--global
flag will make it be the default behavior for the logged in user.Changes of the global setting won't be applied to existing repositories. Additionally,
git clone
andgit init
explicitly setcore.fileMode
totrue
in the repo config as discussed in Git global core.fileMode false overridden locally on cloneWarning
core.fileMode
is not the best practice and should be used carefully. This setting only covers the executable bit of mode and never the read/write bits. In many cases you think you need this setting because you did something likechmod -R 777
, making all your files executable. But in most projects most files don't need and should not be executable for security reasons.The proper way to solve this kind of situation is to handle folder and file permission separately, with something like:
If you do that, you'll never need to use
core.fileMode
, except in very rare environment.