git config --global core.filemode false无法与git diff一起使用

21

我已经设置好了

 git config --global core.filemode false

我检查了我的配置,使用git config -l命令确认配置正确。

...
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.autocrlf=false
...

但是当我输入git diff foo时,我得到了这个结果:

diff --git a/.gitignore b/.gitignore
old mode 100755
new mode 100644
diff --git a/Makefile b/Makefile
old mode 100755
new mode 100644
diff --git a/config.ini b/config.ini
old mode 100755
new mode 100644
...

我使用以下命令将一个远程代码库导入到我的本地代码库中:

git remote add foo //192.168.1.42/foo/
git pull foo master
git checkout -b foo foo/master
git diff master

我的错误在哪里?


你能让它工作吗?下面的答案对我的情况没有影响。 - Robert Sinclair
1个回答

28

确保您没有多个该设置的条目,并将其本地设置,而不是全局设置:

git config --global --unset-all core.filemode
git config --unset-all core.filemode
git config core.filemode false

@nowox 你可以尝试执行 git reset -- .gitignore 命令吗?然后再次执行 git add -- .gitignore 命令。 - VonC
我的 git status 显示 在分支 foo 上\n没有要提交的内容,工作目录干净 - nowox
@nowox 奇怪,你使用的 Git 版本是什么?你在 Git 2.4.2 中是否也看到了同样的问题(https://github.com/git-for-windows/git/releases)? - VonC
2.1.4和2.4.0之间的行为相同。 - nowox
我还没有安装它。 - nowox
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接