make git reset --hard忽略权限更改

ale*_*nst 5 git

我试图git reset --hard origin/master让git以某种方式检查文件只有在每个文件的实际内容发生变化时,而不是检查它们,即使只更改了权限.

是否有一些参数我可以传递给git reset或者这是一个只能用脚本解决的东西?

and*_*808 5

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

另一个可能有趣的想法是编写一个挂钩,将存储库中所有文件的权限设置为您想要的任何内容。这也可以让您确信您不会意外地留下具有危险权限的新文件。


ale*_*nst 4

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

所以基本上:

git update-index --refresh
Run Code Online (Sandbox Code Playgroud)

之前:git reset成功了:)