答案1
回答你的问题:
如果我要创建一个 git 用户,它将成为主存储库的所有者并负责提交,我如何防止开发人员推送错误的代码?
答案是不创建 git 用户。您可以使用标准 UNIX 用户和组控制对远程存储库的访问权限。由于 git 通过 SSH 推送工作,只要您可以通过 SSH 连接到托管存储库的服务器,并且您可以通过服务器上的帐户读取存储库,就可以从存储库中读取、克隆和拉取。如果您也对存储库具有写入权限,则也可以推送提交。
答案2
git 中默认启用的功能之一是:
git push --force
在正常情况下,您应该始终通过以下方式在存储库中禁用此功能:
git config --system receive.denyNonFastForwards true
当您可能有很多拉取请求时,合并工作流场景可能会出现问题,但最好的解决方案总是有良好的合并和分离的开发任务,其中开发人员真正可以理解 git 并且不会提交那么多(主要是因为他们不了解本质)版本控制),如果可以的话,冲突就会减少。良好的培训和理解永远是最好的。您也可以通过本地变基提交来防止这种情况。第二种选择可能是 Github。在这种情况下,您不会让多个维护者推送到权威存储库上的重要分支