8

我的团队在一个包含大约 20,000 个 Java 文件的 cvs 项目中工作。由于文件的数量,做一个 cvs 更新需要一些时间。我通常会检出整个树的大约 5 个副本,以便轻松检入不同的请求,而不必担心每个文件修改了哪些文件。让所有 5 棵树保持最新并彼此同步是一件非常痛苦的事情。

我读过在本地使用 git 和远程 cvs 服务器相当容易,而且 git 速度很快。git 会显着加快本地树的更新速度吗?

我意识到下限是进行一次 cvs 更新的时间。但我认为,一旦第一棵树是最新的,就有可能快速将其他 4 棵树与第一棵树同步,而不是再执行 4 条 cvs update 命令。我正确理解 git 吗?

4

2 回答 2

10

我们在工作中做类似的事情。我们基本上将mastergit 中的分支用作单个更新的 CVS 代码版本;我们在那里不做任何开发,只是 CVS 更新。然后,我们所有的开发项目都发生在我们 rebase 的特性分支上。当我们在master分支上进行 CVS 更新时,我们将这些更改提交到master,然后将我们的其他开发分支重新定位到master.

这并不理想——它使与其他人共享分支变得困难。但是,我们可以一次管理多个开发项目,并轻松地对它们进行分支、合并和差异化。master而且,我们只根据需要在一个分支上与 CVS 交互。

于 2008-11-26T17:04:12.810 回答
8

我在一个大型项目(大约 10k 个文件)中使用 Git 作为 Subversion 客户端。Git 非常快,非常快。它是如此之快,以至于我只保留一个工作克隆,并在同一个克隆中的功能分支之间切换。和你一样,当我使用 Subversion 时,我会有两到三个类似的结帐,并且会定期在它们之间切换,因为我同时有多个事情在进行中。有时会很混乱。借助 Git 的轻量级分支、存储和“git add -p”等功能,我发现我不再需要多次签出。我可以在一个目录中完成所有操作,而不必担心丢失我忘记或意外覆盖的更改。

我没有将 Git 与 CVS 一起使用,但如果它的集成类似于 git-svn,那么它不会有问题。

于 2008-11-27T18:11:27.087 回答