Git:有什么方法可以阻止*大多数*用户编辑文件?

mac*_*ost 3 git github

在我们的 Git 存储库中,我们有大约十个非常重要的文件。这些文件被许多其他文件引用,所以如果它们被移动,东西就会中断。但是由于我们的开发环境设置方式,这种损坏不会立即被检测到,所以会发生以下情况:1)开发人员移动了一个重要文件,2)他们推送了提交,3)几天后我们的系统管理员得到清理烂摊子。

为了防止这种情况,我们非常想找到一种方法来限制我们的 Git 存储库,以便只有某些用户可以更改这些文件。但是,我尝试搜索 Stack Overflow,到目前为止,我找到的唯一解决方案是预提交挂钩(或我们无法使用的工具,因为我们有 GitHub 而不是我们自己的 Git 安装)。

预提交钩子(让每个人都使用它很痛苦,并且很容易被禁用)是强制执行这样的事情的唯一方法吗?或者有没有其他方法可以限制用户在 Git 中对某些文件的更改?

xdh*_*ore 5

你的开发团队有多大?在我看来,最简单的解决方案是:

  1. 与开发团队明确沟通,不要更改这些文件。
  2. 正如@Basile Starynkevitch 提到的,构建时检查可以快速捕获更改
  3. 如果需要,一个 git 预提交钩子。是的,这很容易绕过,但要这样做,他们必须明确反对传达给他们的内容。
  4. 当有人忘记并更改文件时,提醒而不是羞辱团队。

替代解决方案
将文件放在单独的 git 存储库中,并为大多数团队提供只读访问权限。