首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git忽略gitconfig?

Git忽略gitconfig?
EN

Stack Overflow用户
提问于 2012-04-30 07:28:10
回答 3查看 9.9K关注 0票数 12

似乎Git忽略了~/.gitconfig

代码语言:javascript
复制
$ git config --global core.filemode false

$ git config -l
core.filemode=false
core.filemode=true

所以现在有2个条目对应于core.filemode,git仍然没有忽略文件模式的变化

代码语言:javascript
复制
$ 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

基于torek’s answer,我将这一行添加到我的.bash_profile

代码语言:javascript
复制
[ -d .git ] && git config core.filemode false
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-10 02:43:19

也许有点夸大其词,但在Cygwin中,这足以让我更深入地挖掘这个问题。当git从源代码构建时,它会检查构建时所在的文件系统,看看它是否理解可执行代码。

我继续从我的Cygwin系统上的源代码构建git,并将其安装到本地目录,然后将二进制文件添加到我的路径中。基本步骤如下:

代码语言:javascript
复制
cd ~/
mkdir git
cd git
mkdir inst
git clone -c core.autocrlf=false https://github.com/git/git.git
cd git
NO_TRUSTABLE_FILEMODE=1 make prefix=/home/[username]/git/inst/
NO_TRUSTABLE_FILEMODE=1 make prefix=/home/[username]/git/inst/ install

然后在.bashrc中添加类似这样的内容:

代码语言:javascript
复制
export PATH=/home/[username]/git/inst/bin:$PATH

当然,除非您在Cygwin中安装了所有的构建依赖项,否则该构建将无法工作。只要稍微打探一下,我就能毫不费力地完成这件事。现在,git init和git克隆在该系统上的默认文件模式为false。诀窍是为构建定义NO_TRUSTABLE_FILEMODE。

票数 4
EN

Stack Overflow用户

发布于 2012-04-30 08:00:14

在创建或重新初始化新的存储库时,git init始终会根据探测文件系统的结果为core.filemode设置新值。您只需手动执行以下操作:

代码语言:javascript
复制
git config core.filemode false

或者:

代码语言:javascript
复制
git config --unset core.filemode

让它尊重你~/.gitconfig中的那个。如果您再次运行git init,则每个存储库的设置将返回到系统上的true

票数 15
EN

Stack Overflow用户

发布于 2014-08-22 10:13:41

(编辑)要继续,我们需要在windows上执行以下操作:

代码语言:javascript
复制
git config --global --unset core.filemode
git config --unset core.filemode
git config core.filemode false

您可以在Git安装目录中为新的git文件夹(init)创建一个空的配置文件:

代码语言:javascript
复制
C:\bin\Git\share\git-core\templates>echo > config
C:\bin\Git\share\git-core\templates>notepad config

放在里面:

代码语言:javascript
复制
[core]
filemode = false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10376913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档