解释一下svn版本控制制工具CVS或SVN团队...

git是一个分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,支持离线开发,离线Repositor。强大的分支功能,适合多个独立开发者协作。速度块。

如果拥有CVS或者SVN的使用背景,那么更熟悉的方法是客户端-服务器端模式,所有的文件仓库(repository)都是存放在服务器上的,用户需要在本地***客户端去服务器上的项目中获取旧版本,提交新版本。GIT抛弃了这种模式,当用户从远端GIT仓库下载一个工程(project)时,这个工程的所有文件,包括版本历史,文件改动都会下载下来,这时 候本地GIT就演变成了一个服务器,所有的提交(check-in)、提出(check-out)都会在这个本地服务器上执行,当你确定一项修改之后,可 以再和远端仓库进行合并和同步(merge)。所以,GIT的***和配置步骤无论在本机还是服务器上都是完全一样的。

1、更顺畅的工作流程,开发过程中,完全可以离线操作

2、快速,Git分布式架构使得本地仓库包含所有的历史版本信息,你可以在不同的版之间快速切换

3、弹性的本地分支,在svn下,你建一个分支需要把源代码复制到另外一个文件夹,而在Git下,创建分支的代价是非常小的,只需一条命令

4、仓库目录结构简洁,用Git复制一个项目,只会在项目根目录创建一个.git的目录,而其他目录很干净

5、内容按原数据方式存储,所有的版本信息都位于.git目录下

6、完整性好,更易于协作开发

7、用户群大,现在已经有成千上万个开源项目采用Git来做项目管理,github上更是有无数个代码仓库

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。          ***过程省略!下载地址:

***好后,在windows下单击鼠标右键可看到:

以下内容我都是以taobaocode代码仓库为例,进行相应的操作。

迁出我的代码仓库中的button项目为例。


点击ok之后,进入仓库中的源码文件夹,如图:


打开trunk文件夹,里面又有三个子目录,如图:

我们以打开子目录led中的文件进行操作:

现在将led源码check out 到本地,也就是PC桌面,可以在文件上点击右键,选择CheckOut。如图:



check out 成功之后,会发现文件版本为28。

在本地打开led文件夹:


我以修改led_test.c文件为例,在led_test.c文件中添加一些代码,或则减少一些代码。

 修改led_test.c文件之后,会发现该文件由绿色的勾变成红色的感叹号!

这是必填项,否则commit会失败。如下图:

点击‘ok’之后, 当出现下图所示提示框,则表明刚刚的修改已成功提交,并且当前的SVN版本号加1

在修改了某些文件后(文件未上传到配置库),需要返回到修改前的状态,则选中文件夹右键选择“Tortoise SVN”

“Revert...”项进行撤销,本地硬盘上的文件将恢复到修改前的内容,修改的内容将被删除。

如果已经Svn Commit到配置库,则只能重新进行修改文件。

Show log顾名思义是显示日志的作用,主要是显示该文件或者该目录被执行的操作,是被谁修改了,以及修改的时间和日期。

鼠标选中文件夹右键选择“Tortoise SVN”“Show log”项,系统弹出此路径下的所有文件版本信息,如图:

如果我们想拿其中的某个版本的文件,就可以将其文件选中,单击鼠标右键,选择“Save revision to...”,就可保存到自己想要的目录下。

先在本地新建一个.txt文件,鼠标选中该文件,右键选择“Tortoise SVN”的“Add”项后,再鼠标选中该文件,右键选择“SVN Commit…”,

将新文件上传配置库对应文件夹中(若只上传单个文件,只需点中单个文件上传即可)。

选中要被删除的文件,右键选择“Tortoise SVN”“Delete”项,如图:

注意:无论是添加文件,删除文件,还是修改文件,都要填写文件更新日志,否则会失败!

目前暂时只用到这些文件基本操作,以后如有用到别的操作再来更新!


CVS免费开源,并且几乎所有开源项目都是使用CVS进行版本管理,无疑,它是我们Java开发者最优选择。
使用CVS的原因简单得很,以前的开发都是在CVS上完成的,我的CVS仓库里积累了超过5年的代码,如果切换平台,那么我访问以前的代码库就会变得麻烦。使用CVS得心应手。

3.SVN还有待完善,一般用过CVS的人,不会轻易放弃的,而去用新东西,只有新东西比较成熟才会去用

参考资料

 

随机推荐