21

I have some git projects in a linux server.

i use Mac and linux to do my programming. the problem is that the mac filesystem's permissions doesn't really work well like in linux so all the files seems to be on umask 0755. so whenever i pull my code on my mac, git status shows that all my files are changed and when i use git diff it shows that the only change is in the umask. how can i tell git not to store and check for umask changes ?

thanks!

  • 1
    I'm quite sure OS X supports Unix-style permissions... – grawity Mar 22 '11 at 22:15
  • 1
    umask and permissions aren't the same thing. Are you sure you really know what you're doing here? – Marnen Laibow-Koser Mar 22 '14 at 15:22
28

Set the core.fileMode configuration property to false. You can do this easily with this command:

git config core.fileMode false
  • Is this a per-repository setting or is it possible to make this work globally? – acme Jan 18 '12 at 15:24
  • 2
    @acme: Like all git settings, you can set it per-repository, per user, or systemwide, by passing no extra switch, --global, or --system, respectively. See git help config for details. – Patches Jan 20 '12 at 4:06
  • Thanks! But setting it globally does not automatically add this setting to new repositories, it's just a setting on my local machine? – acme Mar 1 '12 at 11:22
  • @acme: Yup, setting an option with --global affects all operations on any repository accessed with your user account locally. It doesn't affect anyone else. To set it for all users of a particular repository you'd have to toggle the per-repository setting on the server everyone pushes to. – Patches Mar 2 '12 at 5:30
1

I have a small shell script to toggle this

cat ~/bin/git-ignore-chmod-toggle

#!/bin/bash
# Copyright 2015 Alexx Roche, MIT license.
# based on http://superuser.com/a/261076

gitCHMODstate=$(git config --get core.fileMode)

# toggle with git config core.fileMode true 

if [ $gitCHMODstate == 'true' ];then
    echo "git now ignores file mode (chmod)"
    git config core.fileMode false
else
    echo "git not looks for files modes changed with chmod"
    git config core.fileMode true
fi

With this I can toggle git, check for other changes and then put back on quickly.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.