我是一名 Web 开发人员和 Subversion/TortoiseSVN 用户,当我们开始需要分支时,我希望跳转到 Git,据我所知,Git 速度更快,并且可以更好地管理分支。
我们的 SVN 设置
我们的 SVN 设置基于通过 Samba 共享访问的中央 Linux 服务器。它安装了 Apache、MySQL、PHP 等,允许我们在类似于在线实时服务器的环境中进行本地测试。我们已经建立了一个托管 SVN 存储库和开发环境(存储库 checkout )的共享。这使我们能够在提交之前通过本地网络实时开发、测试和查看彼此的开发环境。因此,所有 checkout /更新/提交/开发都是通过网络上的 Samba 共享完成的。没有对任何其他盒子进行开发。我们注意到 TortoiseSVN/SVN 最近开始陷入困境,并且发现分支相当缓慢。因此,我们希望迁移到 Git。
设置 Git
为了尝试设置与我们的 SVN 设置类似的环境,我在 Linux 服务器上安装了 Git,在我的 Windows 7 机器上安装了 TortoiseGit。然后我继续关注instructions of cloning an SVN repository to Git .一切顺利,我的日志完好无损。
设置 Git 开发环境
然后我创建了一个开发环境,并从 TortoiseGit 做了一个“Git 克隆”,这花了几分钟时间(如我所料)。 我是否正确地假设这与来自 TortoiseSvn 的 svn checkout
相同? 然后我对文件进行了一些更改并选择了“Git Comment -> master...”。 我是否正确地假设这与 svn commit
相同?这是事情花了相当长时间的地方。
Git 变慢的地方
首先,它花了很长时间才显示已更改的文件(大约 45 秒),尽管我只更改了 2 个文件。在 TortoiseSVN 上,这通常会在 2-3 秒内发生。然后我继续提交,这又花了大约 30 秒,而在 TortoiseSVN 上可能不到 5 秒。
有些人可能会问我为什么要搬家,因为上面的 SVN 时间还不错。请记住,这是一个简单的示例。正常使用会使 SVN 花费更长的时间。
寻找解决方案
我确实在 Stack Overflow 上发现另一个人有一个非常相似的问题,但没有任何实际的解决方案。通过 ssh/命令行做事不是一种选择,因为一些开发人员不太擅长这类事情并且对 Linux 一无所知。
那么,我可以做些什么来通过网络更快地完成这项工作吗?或者,也许是 TortoiseSVN 的更好替代方案来管理提交、分支等?我们正在努力将我们必须采取的步骤保持在最低限度,以保持速度。
最佳答案
如果您的工作副本位于服务器共享上,不要指望 git 会很快。 Git 旨在在本地运行,并远程推送/pull 。
关于git - 通过网络管理 Git 的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10598868/