如果我git ls-tree branchname path/to/directory
我得到以下输出:
100644 blob d7cf85396913fb7169a881d8334f32af153122eb .gitignore
100644 blob ba7adb479be66d8f1d62384ab53997cddd465110 .travis.yml
040000 tree 2de254bbec97958db2375e2d0ab767b23315ab50 application
所以我看到了以下权限设置:
100644 for blobs, 040000 for trees
从我读过的内容100644可以解释为 - regular file with sticky bit of 0 and file permissions of 644 (not executable by anyone)
,040000
- directory with sticky bit of 0 and no permissions
。 644
也可以代替755
blob,因为我只读git
只跟踪可执行位。
我的问题是git
究竟是如何使用这些权限的?检查分支时,它是否将它们应用于工作树中的文件和文件夹?或者是否以某种方式在内部使用它们?
PS。请注意,这个问题与这些权限的含义无关。
答案 0 :(得分:2)
Git使用这些权限来确定结帐时目录条目的类型,并在必要时设置执行权限标志。据我所知,它们没有以任何其他方式使用。
在git中,文件模式比标准posix文件系统少: