我已将本地分支上的文件的权限更改为 rw-r--r--r-- ,但是在将其推到云之后,它仍然可以修改有任何方法可以防止这种情况?
我想你的意思是:
- 您只想制作文件,所有者
- 您想将这些文件随机推向遥控器(例如Bitbucket Cloud或github(
- 您需要其他用户 clone 可以防止对这些文件进行更改的回购,因为您最初只将其设置为最初是您的文件所有者。
这里有两个问题。
- git不能保留您设置的所有权限更改。它仅识别您是否使特定文件可执行。在git存储库中,文件通常只有以下一组权限:
644
(所有者可以读取 写入 写入;组/每个人只能读取(或755
(所有者可以读取,写入和执行;组/每个人都可以读取&仅执行(。您不能施加进一步的权限限制,因为Git根本不会存储它们或将其推到远程Git主机 - 当我作为用户克隆一个存储库时,所有文件都是由我的本地用户帐户创建的,现在 i 是这些文件的所有者。即使这些权限是通过git跟踪的,仍然行不通,因为克隆的任何人都拥有这些文件的本地副本。
在我看来,您真正想做的就是防止用户更改远程存储库中的某些文件。根据存储库主机,您应该能够实现某种git前接收的钩子来拒绝推送。了解有关您的GIT托管服务可以支持的更多信息,您应该能够实施解决此问题的问题。