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