使用nfs共享实现Git

时间:2012-05-03 06:01:30

标签: git nfs

我正试图在我的办公室实施Git。由于无法在每台开发人员计算机上运行apache服务器,因此无法在其计算机上使用克隆。我们有一个带有NFS共享的开发服务器。我计划在这个NFS共享上创建git存储库和工作树。 Git由单个用户管理,因此不会同时推送。

我的问题是

  1. 这是一个好习惯吗?
  2. 如何管理用户访问权限?

3 个答案:

答案 0 :(得分:1)

在此重申以确保我理解:共享开发“工作区”,每个人都通过NFS安装并使用他们的浏览器开发指向远程apache实例,他们在同一组文件上工作并执行git命令反对同一个git工作副本。如果到目前为止我的理解是正确的,那听起来不是一个好主意。

我建议您在apache服务器上为每个开发人员提供他们自己的工作区,以及他们自己的VirtualHost,以便他们可以看到他们的独立文件。现在,他们可以独立于其他开发人员工作。这些文件集中的每一个都是同一个存储库的git克隆(可能是某个地方的裸存储库)。这为每个开发人员提供了更加精简的开发工作流程,并且开发人员不会互相践踏并提交其他代码等风险。

用户访问权限,您可以通过允许挂载NFS共享的人来控制它。

答案 1 :(得分:1)

git在NFS上运行,是的,但与本地磁盘相比,它非常慢。

让几个开发人员处理相同的签出回购是一个麻烦的方法。

我在开发人员推送和拉出的服务器上设置了一个“上游”主仓库,然后每个开发人员在他/她自己的工作站上本地克隆主仓库并对其进行操作。

答案 2 :(得分:1)

你正在击败git的目的,即分布式开发。我建议你在拥有“官方”存储库的中央服务器上设置类似Gitolite的东西。开发人员可以克隆此存储库并在其本地区域中工作。然后,他们可以将(经过充分测试的)更改推送到官方存储库。使用gitolite,您可以拥有细粒度的访问控制和其他一些管理工具。应该设置您的构建和部署过程,以便只有来自官方存储库的更改才能投入生产。