2017-04-27 182 views
1

我已经将本地分支上的文件权限更改为rw-r-但它仍然可以在推送到云后进行修改,有没有办法防止这个?防止在git上修改被修改的文件被修改

+0

如果只有所有者拥有写入权限,那么git必须在同一用户下运行,因为该文件归 –

回答

0

我想你的意思是:

  • 你想使一个文件只能由你写的,主人
  • 你想在圆通权限的这些文件推送到远程(例如到位桶云或GitHub上)
  • 您希望克隆的其他用户回购被阻止对这些文件进行更改,因为您最初将它们设置为只能由文件所有者(最初是您)进行编辑。

这里有两个问题。

  1. Git不会保留您设置的所有权限更改。它只会识别你是否已经创建了特定的文件可执行文件。在git仓库中,文件通常只有以下一组权限:644(所有者可以读取+写入;组/每个人都可以只读)或755(所有者可以读取,写入和执行;组/每个人都可以读取&执行只要)。你不能施加进一步的权限限制,因为git根本不会存储它们或将它们推送到远程git主机当我作为用户克隆存储库时,所有文件都由我的本地用户帐户创建,现在我是是这些文件的所有者。即使这些权限是由git跟踪的,但仍然不起作用,因为任何克隆了repo的用户都拥有这些文件的本地副本。

这听起来像你真正想要做的是防止用户更改远程存储库中的某些文件。根据存储库主机,你应该能够实现某种类型的git预接收钩来拒绝推送。了解更多关于你的git托管服务在这里可以支持的内容,你应该能够实现解决这个问题的东西。

+0

感谢daveruinseverything,您的回答是非常有用的......^_ ^ –