19

这与我最近询问的另一个问题有关,即在 Dropbox 中存储非裸存储库以便在计算机之间轻松移动,因此阅读该问题的背景可能会有所帮助。

要点是fileMode不断报告一些文件的差异。我找不到始终如一地重现它的方法,但它经常发生。我注意到的是,在两台机器上都有 644 权限的文件通常会在其中一台机器上报告与 755 的差异。这让我认为 Git 相信可执行位已设置,但我无法弄清楚我是否真的可以看到Git 是如何设置该位的。

4

2 回答 2

31

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

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

于 2010-09-30T21:33:22.073 回答
0

使用gitk如下

$ gitk path/to/repository/file

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

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

在上面的例子中,6位数字是100644,文件权限是644

于 2020-03-19T21:44:51.690 回答