多用户git开发环境

多用户git开发环境,git,centos,hosting,vps,multi-user,Git,Centos,Hosting,Vps,Multi User,直到2012年底,我还是那些可怕的网络开发者之一,在编辑之前,我会复制并重新命名一个实时服务器上的文件,并将其命名为filename_dev.php。测试某个功能时,我重新命名了它 从2013年开始,我成为GIT的粉丝,从那时起,我禁止自己在没有GIT的情况下启动新项目 我的目标是使用以下功能运行我自己的私有git服务器: 多用户访问 Master branch是一个实时运行的网站 Dev分支也是活动的,但只供开发人员检查 代码运行良好 只有我有权访问主分支,以便从其他分支带来新功能 开发人员

直到2012年底,我还是那些可怕的网络开发者之一,在编辑之前,我会复制并重新命名一个实时服务器上的文件,并将其命名为filename_dev.php。测试某个功能时,我重新命名了它

从2013年开始,我成为GIT的粉丝,从那时起,我禁止自己在没有GIT的情况下启动新项目

我的目标是使用以下功能运行我自己的私有git服务器:

  • 多用户访问
  • Master branch是一个实时运行的网站
  • Dev分支也是活动的,但只供开发人员检查 代码运行良好
  • 只有我有权访问主分支,以便从其他分支带来新功能
  • 开发人员无法看到类似MySQL的密码设置
在我的CentOS VPS服务器上,我创建了一个新用户“git”,并给它一个密码。 为了避免将该密码共享给多个用户,我设置了一个公钥结构。 因此,一个新开发人员向我发送他的公钥,我将其添加到/home/git/.ssh/authorized\u keys

好吧,假设我想开始一个有4个开发者的新项目。 我创建了一个新的repo/home/git/project_1.git,并将所有这些公钥添加到授权文件中

我如何避免他们访问另一个回购协议,如“/home/git/project_2.git”?

由于git只是我vps上的一个用户,它不是托管的apache目录,所以我的开发人员如何在浏览器中检查这些代码?像

当上的代码运行正常时,我喜欢将其推送到live。但只有我能做到这一点,而不是开发人员


希望本周我的思路是正确的,但我的GIT电子书并没有那么详细,无法获得任何关于如何做到这一点的线索。首先,你应该看看gitolite:它允许管理用户和访问存储库

使用gitolite,您可以限制用户可以访问的存储库和分支。对于dev分支,您可能需要设置一个
git-post-receive
hook脚本:这样您的git-repo将SSH连接到dev服务器并从存储库中提取代码