什么是git';s";filemode";?

什么是git';s";filemode";?,git,filesystems,repository,settings,config,Git,Filesystems,Repository,Settings,Config,什么是gitfilemode?对我来说,它存在于每个repo的/git/config文件中,靠近顶部: [core] filemode = true 这是什么?这是什么意思?这和我的工作有什么关系吗 bare = false 我也不太明白这一点。filemode设置为true意味着文件模式权限更改被视为更改 bareset true表示该目录不是工作目录(没有实际文件)。git bare repo()与filemode没有关系。 它用于推送到它,因为它没有工作树,所以不需要

什么是git
filemode
?对我来说,它存在于每个repo的
/git/config
文件中,靠近顶部:

 [core]
    filemode = true
这是什么?这是什么意思?这和我的工作有什么关系吗

    bare = false

我也不太明白这一点。

filemode
设置为true意味着文件模式权限更改被视为更改

bare
set true表示该目录不是工作目录(没有实际文件)。

git bare repo()与filemode没有关系。
它用于推送到它,因为它没有工作树,所以不需要考虑将所述工作树与刚才推送的内容保持同步

什么是“假”文件?什么构成“工作”目录

没有“假”文件。只是一个简单的回购协议只包含git的管理和控制文件,而不是您可以使用和修改的实际数据文件。
当回购协议不是空的时候,它们会在“工作目录”中签出

如果为false,则忽略索引和工作树之间的可执行位差异;对损坏的文件系统很有用,如。

该命令支持
core.filemode
配置变量。
如果存储库位于可执行位不可靠的文件系统上,则应将其设置为
false

这会导致命令忽略索引中记录的文件模式与文件系统上的文件模式之间的差异(如果它们仅在可执行位上不同)
在这样一个不幸的文件系统上,您可能需要使用
git update index--chmod=

对我来说,它存在于每个repo的
/git/config
文件中,靠近顶部

我也是,但在Windows上,它总是:

git config --local core.filemode
false
不要忘记git只记录两种文件模式:

  • 644
  • 755

什么是“假”文件?什么构成“工作”目录?我不理解假文件的问题。工作目录是您可以实际提交更改的目录。裸目录通常在远程服务器上找到。还可以使用git init--bare创建一个裸目录。仅指可执行位,并非所有权限(例如,
chmod-w file
对git来说都是不变的)和(作为旁注)
core.filemode
core.filemode
都是相同的变量,因为这些git配置条目不区分大小写。(我不知道为什么文档有时使用所有小写字母,而有时使用camelCase字母。)
git config --local core.filemode
false