5

我试图git reset --hard origin/master让 git 仅在每个文件的实际内容发生更改时才以某种方式签出文件,而不是在仅更改权限的情况下检查它们。

是否有一些参数可以传递给 git reset 或者只能通过脚本来解决?

4

2 回答 2

4

尝试设置core.fileMode此处false所述(文档)(应该可以解决问题)。这似乎使 Git 在硬重置时忽略任何权限更改。现在,我确实发现如果 Git 无法读取该文件(例如,我将权限设置为 000),硬重置将恢复它提交时使用的原始权限。git config core.fileMode false

另一个可能有趣的想法是编写一个钩子,它将 repo 中所有文件的权限设置为您想要的任何内容。这也可以让您确信您不会不小心留下具有危险权限的新文件。

于 2013-06-19T04:45:43.803 回答
3

我能够通过Git 的 ML解决这个问题。

所以基本上:

git update-index --refresh

之前:git reset成功了:)

于 2013-06-19T09:29:02.840 回答