码迷,mamicode.com
首页 > 其他好文 > 详细

SVN

时间:2015-02-16 15:38:25      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:svn   版本控制系统   版本控制   

SVN是什么?

SVN(Subversion)是一个开源的版本控制工具,普遍用于代码管理。
SVN系统中存在服务器代码库和终端。终端即本地电脑,从远程服务器上拷贝代码到本地,编辑后可以提交到服务器上。SVN中的所有内容都保存在远程服务器上。对于每一次提交,SVN都会针对这次的文件版本分配一个版本号,用于唯一标识这个版本。

SVN怎么用?

查看svn信息

  1. svn目录的信息

    ?  beauty  svn info config [文件夹名]
    Path: config[相对于SVN root目录的位置]
    Working Copy Root Path: /Users/a2014/test/Project[SVN root目录的位置]
    URL: http://svn.localhost.com/repos/project/trunk/config[远程server代码库的URL]
    Repository Root: http://svn.localhost.com/repos[远程SVN代码库的root url]
    Repository UUID: 66a6744b-ee30-477d-922d-9bb399cb4c39[代码库的UUID]
    Revision: 290575[SVN代码库当前版本号]
    Node Kind: directory[当前文件的类型,路径]
    Schedule: normal
    Last Changed Author: deshengkong[上次提交修改的用户]
    Last Changed Rev: 286192[copy下来的文件上次修改时的SVN版本号]
    Last Changed Date: 2015-02-07 12:04:28 +0800 (六, 07  2 2015)[当前路径上次修改的时间]
    
  2. svn文件的信息

    ?  beauty  svn info config/bj/config.inc.php
    Path: config/bj/config.inc.php
    Name: config.inc.php
    Working Copy Root Path: /Users/a2014/test/Project
    URL: http://svn.localhost.com/repos/project/trunk/config/bj/config.inc.php
    Repository Root: http://svn.localhost.com/repos
    Repository UUID: 66a6744b-ee30-477d-922d-9bb399cb4c39
    Revision: 290575
    Node Kind: file[文件]
    Schedule: normal
    Last Changed Author: taoyan
    Last Changed Rev: 279400
    Last Changed Date: 2015-01-28 12:18:04 +0800 (三, 28  1 2015)
    Text Last Updated: 2015-02-16 11:57:01 +0800 (一, 16  2 2015)[该文件最新一次update的时间]
    Checksum: a8c1e957e1d21569b371d6d9cae6362818825af8[推测是该文件的md5值,不确定。。。]
    

将文件checkout到本地

?  test  svn co http://svn.localhost.com/repos/project/trunk/[远程SVN代码库中某个文件的url地址] ./Project[本地文件夹]
……
 U   Project
Checked out revision 290575.[代码库的版本号]

查看当前目录下文件的状态

?  public  svn st ./public[路径/文件名]
?       index.test1.php[?表示该文件没有加入版本控制系统]
M       index.test2.php[M表示该文件本地有修改 modify,并且未提交到SVN服务器]
A       index [A表示add 新增]
D       index [D表示delete 删除]

更新当前文件,即从远程server上update最新的代码到本地

?  beauty_server  svn up
Updating ‘.‘:
At revision 290624.

向版本库中添加路径

?  public  svn mkdir index[路径名]
A         index

向版本库中添加文件

?  public  svn add index.test1.php[文件名]
A         index.test1.php

向版本库提交修改,做任何操作后,包括添加、删除、修改,都要提交到远程server。

?  public  svn ci -m ‘test‘[m是备注]
Adding         index
Transmitting file data .
Committed revision 290600.

比较两版本a和b版本的差别,di后面没参数的话,则比较当前工作目录和远程SVN代码库中的文件的差别

?  public  svn di -r a:b

从版本库中删除文件

?  public  svn rm index
D         index

查看SVN中某文件的内容

?  im  svn cat -r258008[版本号] Car.class.php[文件名]
......

撤销未commit的SVN命令/本地对某个文件的修改

?  public  svn revert index
Reverted ‘index‘

新建分支test

?  public  svn copy http://svn.localhost.com/repos/project/trunk/[source 分支] http://svn.localhost.com/repos/project/branches/test[target 分支] -m ‘test‘

Committed revision 290621.

切换分支,在root目录下执行该命令

?  project  svn switch http://svn.localhost.com/repos/project/branches/test

Updated to revision 290623.

合并分支,切换到主分支

?  project  svn merge http://svn.localhost.com/repos/project/branches/test [分支URL]

删除分支

?  project  svn rm http://svn.localhost.com/repos/project/branches/test -m ‘test‘

Committed revision 290624.

查看日志,日志按版本号倒排

?  project  svn log
------------------------------------------------------------------------
r290620[版本号] | deshengkong [author]| 2015-02-16 14:40:57 +0800 (一, 16  2 2015) [date]| 1 line [修改行数]

test[备注]

SVN

标签:svn   版本控制系统   版本控制   

原文地址:http://blog.csdn.net/dia_vampire/article/details/43852045

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!