安装自己的Git Server,授权后推送代码

安装自己的Git Server,授权后推送代码

我正在尝试在 RedHat 6.5 机器中安装 Git 服务器,
我正在遵循本教程:1,2,3,说实话,我读得越多,事情就越变得晦涩难懂。

如果我要创建一个 git 用户,它将成为主存储库的所有者并负责提交,我如何防止开发人员推送错误的代码(gitolite,有更新的东西吗?)?
git 服务器最简单的配置是什么(我喜欢 gitlab,但我的老板不会允许),同时仅在代码经过审查并授予推送权限时才允许开发人员推送。

注意:所有开发人员都可以通过 ssh 访问服务器。我已经收集了他们的 ssh.pub 密钥

答案1

回答你的问题:

如果我要创建一个 git 用户,它将成为主存储库的所有者并负责提交,我如何防止开发人员推送错误的代码?

答案是不创建 git 用户。您可以使用标准 UNIX 用户和组控制对远程存储库的访问权限。由于 git 通过 SSH 推送工作,只要您可以通过 SSH 连接到托管存储库的服务器,并且您可以通过服务器上的帐户读取存储库,就可以从存储库中读取、克隆和拉取。如果您也对存储库具有写入权限,则也可以推送提交。

答案2

git 中默认启用的功能之一是:

git push --force

在正常情况下,您应该始终通过以下方式在存储库中禁用此功能:

git config --system receive.denyNonFastForwards true

当您可能有很多拉取请求时,合并工作流场景可能会出现问题,但最好的解决方案总是有良好的合并和分离的开发任务,其中开发人员真正可以理解 git 并且不会提交那么多(主要是因为他们不了解本质)版本控制),如果可以的话,冲突就会减少。良好的培训和理解永远是最好的。您也可以通过本地变基提交来防止这种情况。第二种选择可能是 Github。在这种情况下,您不会让多个维护者推送到权威存储库上的重要分支

相关内容