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

时间:2013-06-10 10:23:05

标签: git

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

我可以将一些参数传递给git reset,还是只能用脚本解决这个问题?

2 个答案:

答案 0 :(得分:3)

尝试按照heredocs)设置core.fileModefalsegit config core.fileMode false应该这样做)。这似乎使Git在硬重置时忽略了任何权限更改。现在,我确实发现如果Git无法读取文件(例如,我将权限设置为000),硬重置将恢复它所提交的原始权限。

另一个可能感兴趣的想法是写一个hook,它会将回购中所有文件的权限设置为你想要的任何内容。这也可能会让您确信您不会意外地留下具有危险权限的新文件。

答案 1 :(得分:3)

我能够通过Git's ML解决问题。

基本上是这样的:

git update-index --refresh

之前:git reset做了诀窍:))