这是我的问题。
在我们公司,我们有这样的设置。有一个装有 apache、php 和所有东西的服务器。所有客户端 (dev) 计算机都有一个驱动器 (M:) 映射到该用户服务器上的主文件夹。我们还设置了动态文档根目录。例如,对于 jimy.www.domain.com,文档根目录为 /home/jimitm/www/。现在我们几天前开始使用 GIT。我们面临的一个问题是git status
(或任何其他类似命令)花费太多时间,因为它必须检查网络驱动器上每个文件的更改。
我在想,文档根目录是否可能位于客户端 (dev) 计算机 D: 驱动器(或某个本地状态驱动器)上。那么对于 jimy.www.domain.com,文档根目录将位于D:/www
客户端计算机中吗?
或者还有其他解决方法吗?
答案1
因此,虽然 git 可以在网络共享上使用,但它远非最佳 - 它需要加载 .git 文件和网络共享中的所有文件才能查看发生了什么变化。
使用网络共享,您可能从服务器端挂载文件夹,但是服务器请求的性能会大大降低,这会将代码测试评估周期从 5-10 秒增加到 10-30 秒左右每个。这是您的开发人员既不能容忍也不能承受的性能(和心理)损失。
有办法解决这个问题:
使用类似的配置,我们的解决方案也具有对服务器的 shell 访问权限,并且仅从 shell 使用 git;这允许半即时 git checkout/commit,也允许辅助服务器端脚本,特别是用于部署、回滚和单元测试。
另一个流行的选择是让每个人都在完全本地副本上工作(通过在 virtualbox 中设置实时环境的副本),然后将他们的更改提交到中央存储库
希望这会有所帮助,如果您需要澄清,请发表评论。