在git中显示索引文件的权限

时间:2010-09-29 11:43:33

标签: git permissions diff dropbox

这与我最近提出的关于storing a non-bare repository in Dropbox之间关于计算机之间轻松移动的另一个问题有关,因此阅读该问题的背景可能会有所帮助。

要点是fileMode不断报告某些文件的差异。我无法找到一种方法来重现它,但它经常发生。我注意到的是,该文件在两台机器上具有644权限,通常会在其中一台机器上报告755的差异。这让我觉得Git认为可执行位是设置的,但是我无法弄清楚我是否能够看到 Git如何设置该位。

2 个答案:

答案 0 :(得分:19)

要查看git在提交和索引中实际考虑的文件,请分别使用git ls-tree <tree>git ls-files -s <path>

顺便说一句,似乎git只查看可执行位,并假定644用于其他所有内容。如果您想尝试调试这个奇怪的问题,请查看create_ce_mode in cache.h

答案 1 :(得分:0)

按以下方式使用gitk

$ gitk path/to/repository/file

在打开的窗口的虚线下,您可以看到六位数字。 最后三个是文件权限。

...
------------------------------- path/to/repository/file -------------------------
index a5e14048..08ce8948 100644
...

在上面的示例中,6位数字是100644,文件许可权是644