防止在git上修改权限修改的文件

时间:2017-04-27 13:06:44

标签: git permissions bitbucket

我已将本地分支上的文件权限更改为 rw-r - r - 但是在推送到云后仍然可以修改它,有什么方法可以防止这种情况吗? / p>

1 个答案:

答案 0 :(得分:0)

我认为你的意思是:

  • 您希望仅由您,所有者
  • 创建一个可写的文件
  • 您希望将具有权限的这些文件推送到远程(例如Bitbucket Cloud或GitHub)
  • 您希望阻止克隆回购的其他用户对这些文件进行更改,因为您最初只能将文件编辑者设置为原来的文件所有者。

这里有两个问题。

  1. Git不会保留您设置的所有权限更改。它只识别您是否已创建特定文件。在git存储库中,文件通常只有以下权限集之一:644(所有者可以读取+写入;组/每个人都可以只读)或755(所有者可以读取,写入和执行; group / everyone只能读取和执行)。您不能强加进一步的权限限制,因为git根本不会存储它们或将它们推送到远程git主机
  2. 当我作为用户克隆存储库时,所有文件都是由我的本地用户帐户创建的,现在是这些文件的所有者。即使git跟踪了这些权限,仍然也无法正常工作,因为克隆了repo的任何人都拥有这些文件的本地副本。
  3. 听起来我真正想做的是阻止用户更改远程存储库中的某些文件。根据存储库主机,您应该能够实现某种git预接收挂钩来拒绝推送。了解更多关于您的git托管服务可以支持的内容,您应该能够实现解决此问题的方法。