It appears Git is ignoring ~/.gitconfig
$ git config --global core.filemode false
$ git config -l
core.filemode=false
core.filemode=true
So now there are 2 entries for core.filemode
and git is still not ignoring filemode changes
$ touch modetest
$ git add .
$ git commit -m test1
[master (root-commit) 320cfe4] test1
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 modetest
$ chmod +x modetest
$ git diff
diff --git a/modetest b/modetest
old mode 100644
new mode 100755
Based on torek’s answer, I added this line to my .bash_profile
[ -d .git ] && git config core.filemode false
You can set up a global . gitignore file that lists files that will be ignored on all Git projects. This is the preferred way of ignoring editor artifacts, toolchain log files, OS files, and other miscellaneous crap.
gitconfig is used to store a per-user configuration as fallback values for the . git/config file. The file /etc/gitconfig can be used to store a system-wide default configuration. The configuration variables are used by both the Git plumbing and the porcelains.
The reason they can't find gitconfig is simply because it's nowhere to be found. When developers install Git, the various Git configuration files won't automatically create. Files like gitconfig and . gitconfig are only created when they're first used.
When creating or reinitializing a new repo, git init
always sets a new value
for core.filemode
based on the result of probing the file system. You'll just
have to manually:
git config core.filemode false
Or:
git config --unset core.filemode
to make it respect the one in your ~/.gitconfig
. If you run git init
again
the per-repo setting will go back to true
on your system.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With