首页 > 代码库 > [项目管理]_[初级]_[TortoiseSVN的使用入门]
[项目管理]_[初级]_[TortoiseSVN的使用入门]
Svn
概述:
svn是版本控制工具,简单来说它的功能就是通过差异算法来记录你每次提交的文件差异来存储的,版本控制工具的好处是你可以代码出问题时回退到某个时间点的代码,或对比最新和本机代码看有哪些变化等,对排除程序bug,代码审查,保存稳定版本程序是作用很大的。
1. Svn主要有几个操作需要会用,客户端
Windows: TortoiseSVN
MacOSX: SvnX
命令行: svn(通用)
创建资源库(Create respository)
1.资源库是存放源代码的地方,svn有自己的一套压缩存储机制放提交的文件.所以要使用svn,必须有一个资源库,并提供给外部使用。通常使用的地址svn://这种协议,本机使用就用file:///
创建资源库步骤:
1. 在某个磁盘创建一个文件夹,如E:\repos
2. 鼠标选中这个目录,右键TortioiseSVN->Create repository here,创建成功会弹出提示.
图1:
3. 到目前为止已经创建一个资源库,可以通过选中E:\repos之后右键TortoiseSVN->Repo-browser来测试资源库是否创建成功; 在出现的界面里在右边的窗口右键选择create folder, 起了名字之后弹出以下的窗口是要你输入日志,svn提交代码或相关操作都是可以回退的,写日志就是为了看日志知道那个版本是做什么的.创建好的目录会出现右边。TortoiseSVN的界面操作可以说就是windows的资源管理器的操作方式,左边目录,右边子目录和文件.
4. 图2:
图3:
浏览项目(Repo-browser)
浏览项目文件
右键 TortoiseSVN -》Repo-browser-》弹出来窗口输入项目地址,如本地地址:
file:///E:/test/123123
图4:
检出(checkout)
1. checkout代码意思就是访问授权的svn地址把源代码,包括它当前的版本信息从服务器复制下来。
2. 比如你想checkout某个项目A到本地.
-- 选择你想checkout到本地的目录,比如E:\A
-- 在资源管理器E盘空白处,右键选 SVN Checkout,弹出的对话框,
URL of repository: 填A项目的地址。本机项目可以填刚创建的目录file:///E:/test/123123
Checkout directory: 填E:\A
其他是设置具体到某个版本号的,每次提交svn都会分配一个全局版本号,可以根据SVN的LOG看到对应的版本号,这里用不着暂时不管了.
-- OK
图5:
-- checkout出来的目录会有一个勾的图标.
图6:
备注: 因为checkout出来svn会保留一份文件的备份,所以项目的大小会比较大。如果显式通过查看文件选项里的显示隐藏文件,会发现A目录下有一个.svn隐藏目录,这就是.svn保留版本信息的地方,不熟悉的不能删除.
导出(export)
svn的导出和checkout操作一样的,不同就是export不需要检出版本信息,对应比较大的不常改变的库最好用export,不然checkout会超级慢,比如boost库,目录层级太多(svn在每个目录下都有文件).
步骤:
右键 TortoiseSVN-> Export,之后操作和checkout一样.
更新(update)
更新意思是别人修改了某个文件,你需要从资源库同步过来的。这里涉及到一个如果别人和你修改了一个同一个文件怎么处理的问题(merge),暂时不管.
选中文件或目录:
右键 SVN Update.
提交(commit)
1. 当有文件提交时,就需要commit文件,如果是新文件,需要先add再commit, 如果是修改的文件提交可以直接commit.
2. 你也可以commit某个目录,因为svn默认有些后缀的文件不提交,所以要检查下提交后出现的日志窗口。
步骤:
选中文件-》右键TortoiseSVN->add
图7:
3. 选中文件右键,SVN Commit,也是要填版本日志信息,svn每次提交都会需要填日志信息.
设置忽略属性(svn:ignore)
项目有些生成的输出文件是不能提交到代码里,不然会造成资源库增大几倍,所以设立需要设置忽略到某些文件或文件夹.比如输出目录Debug,Release
-- 选中文件夹 右键-》TortoiseSVN->Properties.
-- New... 弹出来的选择下拉条Property name: svn:igore
-- Property value里填一行填一个过滤文本
Debug
Release
-- 之后选中A文件夹commit设置.
注意: 如果之前不小心提交了Debug和Release的话,需要先在版本库里Delete掉这两个目录再commit svn:ignore.
已经提交的设置ignore是过滤不了的.
图8:
[项目管理]_[初级]_[TortoiseSVN的使用入门]