Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图git reset --hard origin/master让 git 仅在每个文件的实际内容发生更改时才以某种方式签出文件,而不是在仅更改权限的情况下检查它们。
git reset --hard origin/master
是否有一些参数可以传递给 git reset 或者只能通过脚本来解决?
尝试设置core.fileMode为此处false所述(文档)(应该可以解决问题)。这似乎使 Git 在硬重置时忽略任何权限更改。现在,我确实发现如果 Git 无法读取该文件(例如,我将权限设置为 000),硬重置将恢复它提交时使用的原始权限。git config core.fileMode false
core.fileMode
false
git config core.fileMode false
另一个可能有趣的想法是编写一个钩子,它将 repo 中所有文件的权限设置为您想要的任何内容。这也可以让您确信您不会不小心留下具有危险权限的新文件。
我能够通过Git 的 ML解决这个问题。
所以基本上:
git update-index --refresh
之前:git reset成功了:)
git reset