【问题标题】:multi-user git development environment多用户git开发环境
【发布时间】:2013-07-11 08:57:48
【问题描述】:

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

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

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

  • 多用户访问
  • Master 分支是一个实时运行的网站。
  • Dev 分支也已上线,但仅供开发人员检查是否 那里的代码运行良好。
  • 只有我有权访问 master 分支才能将其他分支的新功能上线。
  • 开发人员看不到 MySQL 等密码设置。

在我的 CentOS VPS 服务器上,我创建了一个新用户“git”并给它一个密码。 为了避免将该密码共享给多个用户,我设置了一个公钥结构。 所以一个新开发者把他的公钥发给我,我把它添加到 /home/git/.ssh/authorized_keys

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

我怎样才能避免他们访问像“/home/git/project_2.git”这样的另一个仓库?

由于 git 只是我的 vps 上的一个用户,它不是托管的 apache 目录,所以我的开发人员如何在浏览器中检查那里的代码?赞http://dev.mydomain.com

http://dev.mydomain.com 上的代码运行良好时,我喜欢将其实时推送到http://mydomain.com。但只有我能做到,开发者不行

希望我这周走在正确的轨道上,但我的 GIT 电子书并没有那么详细,无法获得任何线索

【问题讨论】:

    标签: git centos hosting vps multi-user


    【解决方案1】:

    首先,您应该查看gitolite:它允许管理用户和访问存储库。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      相关资源
      最近更新 更多