23

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!

2
  • 1
    I'm quite sure OS X supports Unix-style permissions... Mar 22, 2011 at 22:15
  • 1
    umask and permissions aren't the same thing. Are you sure you really know what you're doing here? Mar 22, 2014 at 15:22

2 Answers 2

32

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

git config core.fileMode false
4
  • Is this a per-repository setting or is it possible to make this work globally?
    – acme
    Jan 18, 2012 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, 2012 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, 2012 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, 2012 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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .