SVN常用操作

 

repository  仓库、源代码库、版本库。位于服务器上,一般存放一个项目,团队共用。

checkout   提取、检出。从仓库copy一个副本到本地。

update  更新。从服务器获取更新,将本地的这个副本更新到指定的版本(默认是最新的版本)。

revert  恢复、还原。相当于Ctrl+Z。

diff   查看更改的详细信息。

 

commit  提交。修改完成后,要将项目提交给仓库,大家就可以看到你的修改了。如果两个程序员同时修改了同一个文件, 服务器会合并(merge)这两个程序员的改动。实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN 会提示文件 Conflict, 冲突,需要手动确认修改。

 

branch      分支。希望开发进程分开成两条不同的线路时,可以建立一个分支,分支其实就是 trunk 版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,分支开发完毕后,通过 merge(合并)功能,将分支合并到 trunk 上来,从而合并为一个项目。

 

tag  标签,给某一个具体版本起一个有意义的名字。主要用于项目开发中的里程碑,比如开发到一定阶段可以单独一个版本作为发布等,它往往代表一个可以固定的完整的版本,比如tag v2.0

 

 

SVN的特点:

  • 版本历史。能够保留全部版本记录,对文件、目录的增、删、改、重命名等操作都保存在版本历史记录当中。
  • 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
  • 对于二进制文件,只保存和上一个版本不同之处,节省了空间。
  • 优化了数据库访问,使得一些操作不必访问数据库就可以做到,减少了很多不必要的和数据库主机之间的网络流量。

 

 

 

 

服务器操作的步骤:

1、新建一个版本库

 

 

 

 

 

 

2、添加开发小组的成员

 

 

 

 

可查看所有版本的更改信息、下载某个版本。

 

 

 

 

 

本地操作步骤:

1、将项目发布至版本库(服务器)

 

 

如果是本地服务器,点击右边的".."即可选择版本库对应的文件夹。

如果是远程服务器:  svn:// 远程主机的IP地址或域名地址:端口号/版本库名            缺省端口号时使用默认的。

 

 

 

2、从服务器下载项目

在要存储项目的位置,单击右键,(下载的项目默认存储到此文件夹里,也可以后面自己选择存储位置,不影响)

 

 

 

 

3、下载项目后,自己可以修改项目,与此同时,别人可能会提交自己的修改到服务器,我们update一下,就可以将别人提交的修改同步到本地。

对项目单击右键:

上面的是更新整个项目,我们可以只对某个文件、某个文件夹单击右键,这样只更新该文件、文件夹。

是更新到最新版本。我们也可以更新到指定的版本:

 

 

4、我们修改完成后,需要把修改后的项目提交到服务器。

对项目单击右键

 

 

上面是提交了整个项目的修改。我们可以只单击某个文件、文件夹,这样只提交这个文件、文件夹的修改。

删除了某些文件、文件夹后,要提交才会同步到服务器。missing,表示该文件已被删除,要勾选才会在服务器同步删除此文件。

 

如果新建了某个文件、文件夹,而此文件、文件夹在以前的版本中没有,可以按照上面的方式随整个项目一起提交修改。如果只想提交新建的部分:

对新建的文件、文件夹单击右键

 

 

 

 

 

5、查看不同版本的更改

对要查看的文件、文件夹单击右键

 

 

 

 

6、版本回退

如果这个项目、文件、文件夹被改废了,或者想回退到某个版本、某个节点:

对要回退的项目、文件、文件夹单击右键

Revert是回退到上一次Commit时的状态。

 

 

 

7、如果想增加一些新功能,或者要避免损坏原来的版本,可以新建一个分支(branch),在分支上开发。可以在某个文件、文件夹、整个项目上新建分支。

 

 

 

分支创建完成后,并不会生成新的文件、文件夹来保存新的分支。

 

 

 

 

 

 

8、创建新分支后,原来的分支默认为trunk(主干、主分支)。

 

切换到该分支后,该文件/文件夹就是该分支的文件/文件夹,进行开发即可。

 

 

 

8、分支开发完成后,需要把分支合并到主干(trunk)。

 

 

 

 

 

 

 

至此合并已完成,commit到服务器。查看版本:主干v7,分支v8,已经合并为v9。  主干是单独的一列。

 

 

 

 

工作大体流程:

第一天开始开发时,checkout检出副本到本地。

之后每天开始工作之前,我们总是update更新一下,获取同事做的更改。

之后我们自己在本地做一些修改、开发。

完成后commit提交给服务器。

 

posted @ 2019-05-25 20:01 chenhongyong 阅读(...) 评论(...) 编辑 收藏