2012-01-05 51 views
2

我们正在部署一个新的开发平台。克隆到Samba股票时Git缓慢

我们,我们不能在开发者的计算机上重现这样的人无法克隆自己的计算机上的Git仓库一个非常复杂的环境。
相反,他们克隆了一个仓库到映射的网络驱动器(SAMBA共享),这就是是为开发人员网站的DocumentRoot在我们的服务器 每个开发者都有为自己的份额+的DocumentRoot /网站,所以他们不能影响人们这样。
开发人员使用Linux或Windows作为操作系统。

我们正在使用1Gbits/sec连接,而GIT与本地使用相比非常慢。 我们的库大小为〜900 MB

samba共享上的git状态大约需要3分钟来完成,这是无法使用的。

我们尝试了一些SAMBA调整,但仍然很慢。

有人想法吗?

谢谢你的时间。

Emmanuel。

+0

这听起来像你最好有一种直接登录到有问题的SAMBA机器。换句话说,试图在网络上使用Git会非常缓慢,因为系统在评估之前通过网络拉动Git信息(即Git状态)。如果您有某种实际的远程访问(如SSH,远程桌面等),我确信Git命令的响应时间会大大增加。 – TheBuzzSaw 2012-01-05 17:06:03

回答

4

我通过简单地寻找你的仓库变化相信git status作品。它通过检查所有文件并检查更改的文件来完成此操作。当您针对samba或任何其他共享执行此操作时,必须通过网络连接进行检查。

我没有git的执行任何亲密的知识,但我的想象是,它基本上可以归结为

  • 检查目录下的所有文件
  • 重复以上步骤,每个目录

因此,不是为共享创建单个持久连接,而是为存储库中的每个单个文件创建一个连接,并且即使在快速连接的情况下,共享速度也会很慢,但仍然很慢。

您是否考虑过使用以下工作流程?

  • 有每个开发者克隆到本地计算机
  • 在本地机器上做的工作
  • 更改推到自己的份额时,他们需要部署/测试/调试

这样可避免在实际份额上使用git并消除此问题。

+0

这是我期望它能够工作的方式,但我们过去使用SVN的工作流程完全相同,并且它显着更快地找到修改过的文件。 SVN有不同的方法来识别更改的文件吗? – KOGI 2013-12-30 22:07:57