2012-05-15 62 views
4

我是一名Web开发人员和Subversion/TortoiseSVN用户,他们希望跳转到Git,因为我们开始需要分支,并且从我读到的内容来看,Git速度更快,管理分支要好得多。通过网络管理Git的最快捷方式是什么?

我们SVN安装

我们的SVN的设置是基于通过Samba共享访问的中央Linux服务器上。它安装了Apache,MySQL,PHP等,使我们能够在类似于我们在线实时服务器的环境中进行本地测试。我们已经建立了一个托管SVN仓库和开发环境(仓库签出)的共享。这使我们能够实时开发,在提交之前在本地网络上测试并查看彼此的开发环境。所以,所有的结账/更新/提交/开发都是通过网络上的Samba共享完成的。任何其他盒子上都没有开发。我们注意到TortoiseSVN/SVN最近开始陷入困境,发现分支非常缓慢。所以,我们正在寻找转移到Git。

设置的Git

在尝试类似的环境中建立我们的SVN设置,我已经在Linux服务器上安装的Git,在我的Windows 7机器上安装TortoiseGit。然后我继续按照instructions of cloning an SVN repository to Git。这已经很好,并保持我的日志完好无损。

建立一个Git开发环境

然后我创建了一个开发环境,并没有从TortoiseGit一个“混帐克隆”,这花了几分钟(如我所料)。 我是否正确地认为这与TortoiseSvn的svn checkout相同?然后,我对文件进行了一些更改,并选择了'Git Comment - > master ...'。 我是否正确地认为这与svn commit相同?这是事情花费相当长时间的地方。

凡Git的减慢

首先,它经历了千百年的它显示,尽管我已经改变(约45秒)的文件仅改变2个文件。这通常会在TortoiseSVN的2-3秒内发生。然后,我继续承诺在TortoiseSVN上花费大约30秒时间,可能会少于5秒。

有人可能会问,为什么我会随着SVN的上述时间不错而移动。请记住,这是一个简单的例子。正常使用会使SVN花费更多时间。

寻找解决方案

我发现对堆栈溢出另一人用非常类似的问题,但没有任何实际的解决方案。通过ssh/commandline做事情不是一种选择,因为一些开发人员对这种东西不太好,对Linux一无所知。

那么,有什么我可以做的,使这项工作在网络上更快?或者,也许是TortoiseSVN管理提交,分支等更好的选择?我们正在努力将我们必须采取的步骤降到最低,以保持速度。

+0

考虑过使用git作为svn的前端一段时间? http://schacon.github.com/git/git-svn.html –

+2

注意:'git commit'不等于'svn commit'。 'git commit'将更改提交到本地存储库,但不会将它们发送到远程服务器。 'git push'是将您的更改发送到远程存储库的命令。 – larsks

+0

对于大型回购,新的工作副本上的'git status'可能会很长,但由于某些磁盘缓存,下一个应该会快得多 – CharlesB

回答

2

如果你在服务器共享上有你的工作副本,不要指望git速度很快。 Git旨在在本地运行,并远程推送/拉出。

相关问题