什么是SVN或SubVersion :-
SVN是一个版本配置管理系统,在大多数软件项目中用于维护代码在一个存储库中的位置。
SVN是由apache框架实现的,目前的版本是Apache Subversion 1.7.2。
Subversion与CVS一样,具有额外的功能。
当我们在Subversion中创建任何代码库时,首先我们需要创建一个版本库。版本库是一个远程网络文件夹,里面有所有的代码库和项目相关的文件。
版本库位于远程服务器上,可以是基于windows或linux的系统。
客户或开发者必须安装svn客户端,如独立的Tortorise SVN客户端或基于命令的客户端来获取代码。
一旦用户安装了svn客户端,他们就可以从版本库中复制代码到他们的本地系统中,可以在本地拷贝中修改代码,一旦修改完成,他们又会把代码保存到版本库中。
SVN主要用于同步一个项目中多个团队要修改的代码库。
大多数java开源项目都使用SVN作为维护代码库的工具。
什么是SVN中的Checkout?
Checkout是cvs的行话,用于从版本库中创建代码库的本地副本。这可以通过SVN的GUI客户端(Totorise SVN)或基于命令的客户端完成。
什么是SVN中的提交?
commit是cvs的行话,用于将代码库的本地拷贝保存到版本库的代码库中,这样本地和版本库中的代码就始终保持同步。
什么是SVN中的合并?团队A开始为一个项目从版本库中检出的代码工作。团队B在团队A签出后从版本库中签出代码。
团队A完成了他们在本地副本的工作,并将他们的本地修改提交给版本库。
但是B团队有他们自己的本地副本的修改。当B团队要提交他们的修改时,SVN会进行合并处理。
它将把本地副本中所有相应的修改复制到版本库。
在合并过程中,它将显示所有单个文件的冲突,我们需要看到这些冲突文件之间的差异,并进行合并处理。
在SVN中,有两种类型的合并方式:
1.自动合并:--自动意味着SVN自动解决冲突。不需要开发人员做任何修改,
2.手动合并:- SVN提供了合并管理器,我们可以比较有冲突的文件并按照代码基础进行合并。
我们需要仔细地做这件事,因为如果我们没有正确地做这件事,就会有代码丢失。
Subversion的优势或好处:
SVN是轻量级工具。易于学习和设置,也易于管理。
所有修改/添加/删除/重修的完整修订历史
易于与其他构建工具集成,实现持续集成测试。
通过简单的命令在版本库中维护不同版本的代码基础
这个话题是探索SVN教程的一个非常基本的开始,希望你有足够的信息可以开始学习。
如果你有任何问题,请随时留言,我会给你答复。