这与我最近提出的关于storing a non-bare repository in Dropbox之间关于计算机之间轻松移动的另一个问题有关,因此阅读该问题的背景可能会有所帮助。
要点是fileMode
不断报告某些文件的差异。我无法找到一种方法来重现它,但它经常发生。我注意到的是,该文件在两台机器上具有644权限,通常会在其中一台机器上报告755的差异。这让我觉得Git认为可执行位是设置的,但是我无法弄清楚我是否能够看到 Git如何设置该位。
答案 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