我有一个git结帐。所有的文件权限都不同于git认为它们应该是什么,因此它们都显示为修改。

没有触及文件的内容(只是想修改权限),我如何设置所有文件的权限,git认为他们应该是什么?


当前回答

你也可以尝试一个前/后结帐挂钩。

参见:自定义Git - Git钩子

其他回答

你也可以尝试一个前/后结帐挂钩。

参见:自定义Git - Git钩子

etckeeper工具可以处理权限和:

etckeeper init -d /mydir

你可以把它用在其他地方,而不是/等等。

使用你的包管理器安装或从上面的链接获取源代码。

我知道这很古老,但我来自谷歌,我没有找到答案

如果你没有零钱想留着,我有一个简单的解决办法:

git config core.fileMode true
git reset --hard HEAD

试试git的config core。fileMode假

从git配置手册页:

core.fileMode 如果为false,则忽略索引和工作副本之间的可执行位差异;对FAT等损坏的文件系统很有用。看到git-update-index(1)。 默认为true,除非git-clone(1)或git-init(1)将探测和设置core。在创建存储库时,fileMode为false(如果合适)。

最简单的方法就是把权限改回来。正如@kroger指出的,git只跟踪可执行位。所以你可能只需要运行chmod -x文件名来修复它(或者如果需要的话+x)。