【发布时间】:2013-12-28 18:25:01
【问题描述】:
我有一个项目正在基于 Windows 的 IDE 中开发。该项目中包含一些 perl 脚本。
将项目克隆到生产服务器(基于 Linux)后,我将 perl 文件的权限更改为仅供用户执行。
现在,如果我在 Windows 服务器上进行更改并将其推送到存储库,当我尝试将更改拉到服务器上时,我被告知“错误:您对以下文件的本地更改将被覆盖合并”。
我该如何解决这个问题?我正在努力获得由另一个脚本触发的半自动拉取,但我需要让文件可执行并能够拉取任何更新而不会导致此问题。我可以让脚本删除可执行权限,拉取,然后放回去,但我希望有比这更好的解决方案!
【问题讨论】:
-
将文件从不可执行更改为可执行是对文件的更改。可执行性是 git 需要在文件上跟踪的非常重要的东西。我会检查更改。
-
我试过这个,但是当我在windows服务器上进行更改时,它神秘地添加了组执行权限,所以我必须再次更改它以删除这些权限。
-
@BenHolness:git 只存储 executable 或 not executable。如果您不想要 g+x,请更改您的
umask。 -
我不确定
umask是否在 Windows 中实现,并且我看到了关于标志的奇怪行为。
标签: git file-permissions git-pull