Subversion是一个非常优秀的版本控制系统,它能够帮助你很好得管理您网站和软件的代码,可以帮助你回到早期版本,也可以在开发团队中共享不同开发者的代码。
安装subversion
本系列教程是以Debian和ubuntu操作系统为讲的。
开始安装subversion。
这就是subversion的安装方法。
创建仓库(repository)
让创建一个库。
要创建一个文件夹命名为“repository”在我的/home/subversion目录。
当然可以为这个库的文件夹起个你喜欢的名称并放在你喜欢的地方:
在repository的文件里面应该没有任何东西:
开始创建版本控制的框架结构(skeleton structure)去控制这个库(repository):
将会看到:
不要修改仓库(repository)的文件和文件夹。将会学习如何添加文件和工程项目。
开始学习添加第一个项目
开始导入“一些东西”到的版本控制仓库,“一些东西”是必须存在的。
作为练习,你可以导入你的任何东西。版本控制是用来管理项目的,从小的网站到大的系统工程。
首先,为第一个项目创建一个临时的文件夹,把这个文件夹叫’project1′:
在这个文件夹‘project1’创建一个文本文件:
开始把工程(project1)导入(import)到仓库(repository)
建议在版本控制的工程的文件命名:branches, tags and trunk。在这里我主要是介绍trunk(主仓库-存放开发代码的文件夹)。
导入(import)工程(project1),输入下面命令:
注意,这个命令的顺序,工程导入的路径和工程的访问路径,还有就是‘-m’是信息的缩写,强烈建议每当你导入文件的时候,通过’-m’做下你的导入描述,方便以后版本多的时候易于记忆,找问题。
此命令的输出结果是:
删除project1
让删除project1,因为不再需要它了,已经把它存放到的仓库(repository)了。
rm -rf project1/
检出(Check out)一个仓库(repository)的项目project1
需要检出(check out)刚才导入的project1(这个就是版本1 version1),当project1成功检出后,可以在这个projects上面进行修改、添加文件等等操作,可以通过把修改过的内容提交(svn commit),这样版本version2就产生了。
这里假设subversion服务器和project1是在同一台电脑上面的(以后的系列教程将会介绍在不同的电脑上的情况),创建一个叫”work”文件夹并检出(checkout)project1:
输出结果:
A project1/hello.txt
checked out revision 1.
查看检出(checkout)的工程(project1):
看起来一样吧?这个检出(checkout)的project1和你原来的那个project1一模一样的。
添加(add)修改的
让对project1进行一些小改动并添加一个新的文件夹和文件,记住现在正在project1的文件下工作。
首先要把这些修改的内容添加到版本库的project1里面,这里并不是提交到新的一个版本,而是把这些新添加的文件夹和文件告知版本控制系统,然后再执行commit命令提交:
提交(commit)修改的
让project1发生重大改变,由版本1(version1)到版本2(version2),执行下面命令:
输出结果:
删除(Deleting) 文件
如果你想删除文件或文件夹,请执行下面命令:
记住这个时候还没有让你的代码库发生变化,还需要执行下commit才会删除goodbye文件夹。
提交(commit)删除
真正的删除,并让代码库发生变化,产生一个新的版本:
到目前为止,project1已经到版本3(version3)了。
版本修订(Revisions)
版本控制还有一个非常好的功能,就是可以根据你的要求可以检出不同版本的project1代码。现在是在版本3(version3),但是我又想检出版本2(version2)。
这会只需要在检出project1添加个’r‘,选择需要的版本号即可:
这个就能够检出project1的版本2在project1-older的文件夹。