首页 > 解决方案 > Cygwin git 删除可执行标志

问题描述

我正在使用cygwin git。存储库中的文件是部分可执行的,有时是因为有人不小心设置了可执行标志,有时是因为它是故意应该是可执行的 shell 脚本。当我克隆存储库 cygwin git 之后列出了具有更改权限的可执行文件:可执行标志已被删除。所以我最终得到了很多更改的文件而实际上没有做任何事情。在其他线程中,我看到了通过 git 配置中的 filemode=false 关闭文件权限处理的建议。但我想知道是否没有其他解决方案。使用 cygwin shell 权限似乎很好。只有 git 将文件权限列出为已更改。

标签: gitcygwin

解决方案


这听起来像是人们试图将 git 用作(某种)部署工具的常见错误。Git 是一个 VCS - 版本控制系统。它记录对源代码的更改,这是它的主要目的。特定于部署的东西,例如文件权限、从源文件构建的输出文件 (dll)、特定于环境的配置文件等,不应使用 git 进行版本控制,因为这不是源代码的一部分。这是部署过程的一部分。这个答案一开始听起来令人沮丧,但是一旦你停止使用 git 来做它不是设计的东西,你会找到很多更好的工具,并且结合起来,我希望你最终会让每个工具都能完成它的工作完美,它的设计方式,使您的开发/部署过程的压力大大减轻。


推荐阅读