git - 通过网络管理 Git 的最快方法是什么?

标签 git svn version-control samba tortoisegit

我是一名 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/

相关文章:

Java 在 Lucene 中为 contrib 包创建 JAR 文件

Git:在暂存环境中使用 nvie 的 gitflow 概念

ios - 在 git 版本控制下添加项目时在 Xcode 中出现 "Share working copy?"

python - 有没有办法在 python 中处理忽略文件(如 .gitignore)?

git - 如何使用git读取源代码?

svn - 为什么选择Subversion而非竞争对手?

authentication - 在 Subversion 中,我可以成为登录名以外的用户吗?

java - 使用反射修改方法并获得对其局部变量的访问权限

android - 创建已更改文件/目录/等的列表。在两个标签之间使用 git

Git - 如何找到特定分支的第一次提交