我的团队在一个包含大约20,000个Java文件的cvs项目中工作.由于文件数量的原因,需要一段时间才能进行cvs更新.我通常会检查整个树的大约5个副本,以便于检查不同的请求,而不必担心每个文件都被修改了哪些文件.让所有5棵树保持最新并且彼此同步真的很痛苦.
我已经读过,使用远程cvs服务器在本地使用git相当容易,而且git很快.请问git会显着加快我当地树木的更新速度吗?
我意识到下限是进行一次cvs更新的时间.但是我想,一旦第一棵树是最新的,就可以快速地将其他4与第一棵树同步,而不是再做4个cvs更新命令.我能正确理解git吗?
我们在工作中做类似的事情.我们基本上使用master
git中的分支作为单个,更新的CVS版本的代码; 我们不在那里做任何开发,只是CVS更新.然后,我们所有的开发项目都发生在我们重新定义的功能分支上.当我们在master
分支上进行CVS更新时,我们将这些更改提交给master
我们,然后将我们的其他开发分支重新绑定master
.
这并不理想 - 它使与其他人分享分支变得困难.但是,我们可以同时管理多个开发项目,并轻松地对它们进行分支,合并和差异化.而且,我们只master
根据需要在一个分支上与CVS进行交互.
我在一个大型项目中使用Git作为Subversion客户端(大约10k文件).Git很快,非常快.这是如此之快,我只保留一个工作克隆,并在同一个克隆中的功能分支之间切换.和你一样,当我使用Subversion时,我会有两到三个类似的结账,并会定期在它们之间切换,因为我同时正在进行多项工作.它有时候会让人很困惑.使用Git的功能,如轻量级分支,存储和"git add -p",我发现我不再需要多个签出.我可以在一个目录中执行所有操作,而不必担心丢失我忘记或意外覆盖的更改.
我没有将Git与CVS一起使用,但如果它的集成与git-svn类似,那么它就没问题了.