我有一些git仓库有一些文件在只读模式(chmod 0440)的麻烦。Git无法签出只读权限的文件
有时,其中一个文件会在另一个分支上被修改;当你尝试检出该分支,git的更新失败有 warning: unable to unlink path/to/the/file: Permission denied
的问题是,这些文件需要在只读模式,因为使用超出这些文件的框架抛出沉重的警告信息时,这些文件的文件是可写的,甚至更成问题,每当我们在我们的持续集成过程中(重新)安装框架时,框架将这些文件更新为只读模式。
我试图使用git挂钩在检出任何文件/分支之前自动将这些文件chmod改为0664,然后将它们chmod重新设置为0440,但我不确定存在这样的挂钩。
一个不需要的解决方案是将我自己的那些文件chmod改为0664,每次我知道它们可以用git进行更改,然后将它们chmod回到0440以避免在产品环境中推送可写文件,但这会导致失败。
另一种解决方案是在0664模式下提交它们,并更新我们的持续集成过程,以在安装(重新)安装框架并完全忽略警告之后将这些文件重新chmod为0664;同时保持产品环境的chmod为0440。
你们对这个问题有什么看法?我可以解决这个问题的最佳解决方案是什么?
但是....你如何期望覆盖只读文件?我不确定你期望GIT在这里做什么。使文件可写或不更新。在我看来,你的实际问题是*,因为超出这些文件使用的框架会在这些文件可写*时引发严重的警告消息。这似乎意味着你不应该将这些文件检查为GIT,当然也不应该更新它们 – Liam