Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git ignoring gitconfig?

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
like image 796
Zombo Avatar asked Apr 29 '12 23:04

Zombo


People also ask

Is there a global git ignore?

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.

What is ~/ Gitconfig?

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.

Why is there no Gitconfig file?

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.


1 Answers

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.

like image 108
torek Avatar answered Sep 30 '22 17:09

torek