svn支持工具比较多,显得有点杂,传统的代码库管理是C/S模式,支持多人协作开发。服务器端工具有Subversion、VisualSVN-Server,客户端工具有TortoiseSVN,Eclipse插件有Subversive、Subclipse。工具一般是可执行安装包,运行后一路Next就可以了;插件直接解压到eclipse\dropins下各自的目录里即可,也可通过links方式链接到插件目录。
几种使用情景:
1,内部开发,已有专用的svn服务器,本地仅需客户端或插件就足够了。鉴于插件与开发环境的耦合性,可能插件更方便一点,比如Subversive就足够了。
3,外部开发,使用云端的svn服务器(代码托管服务如谷歌Code),本地仅需客户端或插件,便于多人协作以及权限管理,还提供事务跟踪等高级功能。
- 3,个人开发,可以在本地配置私有的svn服务器,推荐VisualSVN-Server(使用较简单),而Subversion配置比较复杂。
- 4,可能需要在两台电脑上开发,这时需要在云端有共同的数据,如果直接使用代码托管服务,则代码同步可能会很慢,可以仍然在本地存储代码库,并将代码库全部同步到网络硬盘上(Sugarsync,快盘等)。这时面对一个问题,本地的svn服务器及其权限控制怎么办,特别是将代码库共享给好友时怎么办,可以使用TortoiseSVN和Subclipse,前者可在某个目录下建立代码库“create repository here”,后者可通过file:///D:/svn访问代码库,本地不需要svn服务器,好友也只要有Subclipse插件就可以了。网络硬盘的自动同步和冲突处理比较弱,所以协作开发的话还是使用网络上的服务器比较好。
将不需要同步的部分(如bin、target、gen等自动生成的部分或其他)添加到svn ignore,若那部分已经同步过,则先备份原数据(自动生成的则不必),删除数据并提交,生成或复制原数据,team->add to svn:ignore即可。