Git与SVN配合使用

 Git与SVN配合使用
Jingwenlai 2009-11-3

版本管理工具对于开发来说很重要,可以保留一些重要的历史记录,在分支比较工具的帮助下,可以有效地帮助多人开发。当前主要的版本管理有: Microsoft VSS,CVS,SVN,Git, 另外还有Mericul,Perforce等。
    之前用过一段时间的SVN,感觉挺方便的.因为是一个人写些实验的东西,基本上还是在主干上进行开发,有时会对主要的版本做一些tags。后来接触到了Git,发觉其在好几个方面相对于SVN来说有优势,在搜集资料并看书的过程中,发现两者是可以结合起来用,这对于现有的一些用SVN管理的项目来说是一福音啊。
SVN是集中式的版本管理工具,而Git是分布式的管理工具。Git相对于SVN的优势主要有两个方面:
一是其强大的分支合并功能,这主要是由于其内部机制决定的,可以做到轻量级的分支,而不需要像SVN建分支的时候需要拷贝文件。
其二是Git是基于分布式的管理工具,其可以使用本地版本管理,在没有网络联接的时候可以在本地对版本进行管理,并留下历史记录,相对于SVN来说,其粒度更小,能更好地达到版本追溯及查找的功能。

SVN相较于Git的优势是:
可以对版本进行集中管理,相关的支持工具,如tortoiseSVN,Git也有相对应的工具 tortoiseGit,但并不如tortoiseSVN完善。
现有的网上提供repository的网站SVN 较Git的多。提供SVN的有googlecode, sourceforge,等。提供GIT较出名的是github.com,gitforge等。
SVN 可以对源代码,文档,二进制生成文件等进行管理,而Git一般来说更便于对源代码进行管理。

借助git svn可以使两者结合起来使用,可以同时拥有两者的优势。用SVN进行集中管理,用Git在多个不同机器上进行开发。而且,在团队开发中,一般不允许将未经测试的代码提交,而开发某一功能可能会经历多次改动,这时,就可以利用Git做一些本地的版本历史,到功能完善并测试完成后再提交至SVN Repository。

Svn及git 的使用基本上都是类似的,在刚开始的使用过程中,如果有记不清的命令,随时都可以用svn help <command>或git help <command>这类命令来获取帮助信息。


有关Git的更高级应用还在进一步学习之中,另外,介绍一个小伙的链接http://rubynroll.javaeye.com/blog/203133,《SVN+Git与熊掌兼得》,讲得挺好的。


Ref:
<<Pro Git>>
<<Progmatic Version Control with Git>>

http://rubynroll.javaeye.com/blog/203133

git -scm.com

 

你可能感兴趣的:(SVN,Microsoft,git,工具,tortoiseSVN,Perforce)