TortoiseSvn介绍
TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。
相比VisualSVN Server用于版本控制的服务端,TortoiseSVN是用于版本控制的客户端,也就是由各个开发人员使用的代码管理工具。
##TortoiseSVN的安装
【步骤1】安装初始界面如下图(一直点击next就行):
【next】
【next】
之后点击install就完成TortoiseSVN的安装
TortoiseSVN的配置及使用
签入源代码到SVN服务器(代码库)
假如我们用eclipse生成了一个项目文件夹AndroidTest,如果需要将该项目作为共享项目签入到VisualSVN Server 的代码库中,则在该文件夹上右键选择Import,如图:
弹出下图设置该项目对应的服务器代码库的位置,其中http://10.1.32.18 是服务器名,SVN是代码库的根目录,AndroidTest是我们在上一篇博客(版本控制二:VisualSVN server+TortoiseSVN 的安装及使用(上))中在服务器端建立的代码库(注意,如果在服务器端没有先建立与之同名的版本库,客户端将无法签入该项目)
点击确定之后,我们输入在服务端设置的用户帐号及密码,如图:
当出现下图,则表示新的项目已经成功签入服务器,这里我们可以查看签入文件的明细:
至此,我们新项目的代码就完成了签入,其他开发成员便可以在其他机器上随时签出代码并开始开发工作。
签出源代码到本机
在本机工作文件夹中新建一个项目文件夹AndroidTest,右键选择SVN Checkout,如图:
设置服务器上代码库地址,本项目是svn/AndroidTest,点击确定便转到输入用户名及密码。
完成后服务器代码库的项目AndroidTest便下载到本地了,如下图可以在文件夹中看到项目中的文件,其中绿色勾勾表示该文件或文件夹处于正常状态:
【另外】上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://10.1.32.18 /svn/AndroidTest/ ,这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。
前面介绍了源代码的签入和签出,下面介绍一下如何在本地更新了代码后在提交到服务器
提交修改过的代码到VisualSVN Server 服务器
如下图,我修改了文件AndroidTestActivity.java,则该文件的头部便会有这样的小图标
【注意】提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突(conflict)。
现在我们要将修改后的文件提交到服务器,则可以直接在该文件上或者在项目文件夹AndroidTest上右键,点击SVN Commit…弹出下面的窗体如下图所示。
出现如下图所示的状态表示代码提交成功:
【注意】在提交文件的时候注意查看文件列表,有些涉及个人配置的文件不要提交到服务器,因为其他人在从服务器更新代码时自己的配置文件容易被你所上传的配置文件覆盖,这样在运行项目时会出现摸不着头脑的错误出现。向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
添加新文件到VisualSVN Server服务器
我们在AndroidTest文件下添加一个新的文件a.java,状态为non-version状态,在AndroidTest文件下的空白处点击右键,点击SVN Commit…新文件的提交和修改文件的提交类似。
同时我们也可以在该文件上右键,点击TortoiseSVN=>>Add, 选中a.java文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为新添加状态。
之后,我们要再SVN Commit这个文件一次并完成提交才能算是将文件新增到服务器代码库。
同理,在文件的重命名及删除工作后也可以直接在文件上执行,然后右键点击SVN Commit便完成相应的服务器上的更新。