Date: 20140208
Auth: Jin

一.install

zypper install  subversion

yum install  subversion

二、操作

1、将文件checkout到本地目录svn checkout path(path 是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

svn checkout http://svn.svnserver.com/svnserver2011/ea/ --username diege --password 123456

配置保存
[root@mnt svn]# ll ~root/.subversion/
total 28
drwx------. 6 root root 4096 Jan 23 11:47 auth
-rw-r--r--. 1 root root 6866 Jan 23 11:47 config
-rw-r--r--. 1 root root 4276 Jan 23 11:47 README.txt
-rw-r--r--. 1 root root 7674 Jan 23 11:47 servers
账号密码保存信息
[root@mnt svn]# cat ~root/.subversion/auth/svn.simple/2b112912c484d8b258f23124fd7d2be4
K 8
passtype
V 6
simple
K 8
password
V 6
123456
K 15
svn:realmstring
V 63
<http://svn.svnserver.com:80> Welcome to svnserver new repository
K 8
username
V 10
diege
END

第一次输入账号密码,第二次就不用输入账号密码

2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

添加目录试试
[root@mnt ea]# mkdir comment.svnserver.com
[root@mnt ea]# svn add comment.svnserver.com

3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no- unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
[root@mnt ea]# svn commit -m 'comment.svnserver.com init'
Adding comment.svnserver.com

Committed revision 54.

4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文 件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示 文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN 帮助
svn help
svn help ci
——————————————————————————
以上是常用命令,下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的 URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
? 本地文件、目录不在本版控制下。提交:如果是*.tmp(cache)就不应该提交,如果是新增的需要提交的文件 就应该svn add
M modified. 文件的内容已经被修改。提交之前:svn diff
C conflict。文件发生冲突,提交之前必须手工解决冲突。提交之前:一般先svn up
D delete。原因svn delete该文件。提交之后会删除服务器下的该文件。提交之前:应该确定是否要删除该文 件
A added。向服务器版本增加文件。提交之前:确定是否增加该文件。
R replace。删除服务器版本的同文件名文件,并向服务器版本增加本地同名文件。 提交之前:确定是否要删 除服务器版本的同名文件,并增加本地同名文件。
! 文件在服务器版本中,但是在本地已经丢失或者不完整(原因之一:rm)。提交之前 svn up或者svn revert file恢复原来的文件
~ rm 了一个本地文件,又在相同位置建立了一个文件.提交之前:svn up找回被删除的文件,然后再确定是否 删除该文件,并确定是否增加新增加的文件。
i 不在服务器版本中,而且是被忽略的文件。svn ci时候不会被提交

三、实战
将线上comment.svnserver.com 提交到svn
测试
svn checkout http://svn.svnserver.com/svnserver2011/ea/ --username diege --password 123456
账号密码保存信息
[root@mnt svn]# cat ~root/.subversion/auth/svn.simple/2b112912c484d8b258f23124fd7d2be4
[root@mnt ea]# mkdir comment.svnserver.com
添加
[root@mnt ea]#svn add comment.svnserver.com
提交
[root@mnt ea]# svn commit -m 'comment.svnserver.com init'
Adding comment.svnserver.com
Committed revision 54.
删除
[root@mnt ea]# svn delete comment.svnserver.com
D comment.svnserver.com
提交
[root@mnt ea]# svn commit -m 'comment.svnserver.com delete'
Deleting comment.svnserver.com
Committed revision 55

线上操作
[root@JQ-pdt-host-237 ~]# cd /data/httpd/htdocs/
[root@JQ-pdt-host-237 htdocs]# ll
total 257040
drwxr-xr-x 6 webroot webroot 4096 Mar 9 2009 comment.svnserver.com
[root@JQ-pdt-host-237 htdocs]# svn checkout http://svn.svnserver.com/svnserver2011/ea/ --username diege
Authentication realm: <http://svn.svnserver.com:80> Welcome to svnserver new repository
Password for 'diege':

[root@JQ-pdt-host-237 htdocs]# cp -a comment.svnserver.com ea/
添加
[root@JQ-pdt-host-237 ea]# svn add comment.svnserver.com
提交
[root@JQ-pdt-host-237 ea]# svn commit -m 'comment.svnserver.com init 20140123'
Authentication realm: <http://svn.svnserver.com:80> Welcome to svnserver new repository
Password for 'diege':

四、记忆常用

初始化
svn checkout http://svn.svnserver.com/svnserver2011/ea/ --username diege --password 123456
添加
svn add comment.svnserver.com
提交
svn commit -m 'comment.svnserver.com init 20140123'
删除
svn delete comment.svnserver.com
提交
svn commit -m 'comment.svnserver.com delete'
更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文 件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)

fedora19/opensuse13.1 配置svn client的更多相关文章

  1. fedora19/opensuse13.1 配置openvpn client

    Date: 20140207Auth: Jin 1.install # yum -y install openvpn #zypper install openvpn 2.copy user key # ...

  2. ubuntu安装和配置SVN【转】

    ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2  libapache2-svn subversion ...

  3. Android Studio 配置SVN实现代码管理

    Refference From:http://iaiai.iteye.com/blog/2267346 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在 ...

  4. pycharm 配置svn

    1.找到本地svn.exe 2.配置svn路径 3.输入svn路径,然后会进行密码校验 问题 本地的TortoiseSVN在bin目录没有发现svn.exe 原因: 安装TortoiseSVN的时候 ...

  5. idea 配置svn

        1.情景展示 idea安装好后,如何配置svn? 2.分析 由于没有针对idea的svn插件,因此只能选择安装svn的客户端. 3.解决方案 第一步:下载小乌龟SVN客户端: 官网地址:htt ...

  6. CentOS下安装配置SVN服务器并自动同步到web目录

    一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r ...

  7. Android开发学习——Android Studio配置SVN

    一.基本配置 1. 下载这个,然后双击 安装,按下图这样选 然后 傻瓜式安装 2. 进入Android studio设置:Use Command Line Client 选择浏览到第1步你本地安装 T ...

  8. WebStorm 配置 svn

    1.下载 SlikSVN.   2.安装.路径 D:\Program Files\slik\bin.   3.在WebStorm中配置 file->settings->Version Co ...

  9. Android Studio配置SVN 以及使用代码管理

    一.Android Studio配置SVN Android Studio关联配置SVN非常easy,在Settings里面.找到Version Control->Subversion.在这个页面 ...

随机推荐

  1. Redis -- 过期时间 和 缓存 例子

    1.设置 key的生存时间,过期自动删除 exprire key  seconds    设置过期时间 秒数 ttl key   查询剩余时间 如果 设置了过期时间.对key进行 set 操作,会清除 ...

  2. 几条学习python的建议

    熟悉python语言, 以及学会python的编码方式. 熟悉python库, 遇到开发任务的时候知道如何去找对应的模块. 知道如何查找和获取第三方的python库, 以应付开发任务. 学习步骤 安装 ...

  3. leetcode 之Candy(12)

    这题的思路很巧妙,分两遍扫描,将元素分别和左右元素相比较. int candy(vector<int> &rattings) { int n = rattings.size(); ...

  4. lnmp的安装--mysql

    1.前期准备 创建组:groupadd mysql 创建用户:useradd -r -g mysql mysql 创建mysql文件夹于数据存放文件夹data mkdir -p /usr/www/my ...

  5. P2511 [HAOI2008]木棍分割

    目录 Description Solution Code Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, ...

  6. linux命令(21):more命令

    实例1:显示文件中从第3行起的内容 [root@host-172-168-80-55 home]# cat test.log aaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbb ...

  7. LeetCode解题报告—— Linked List Cycle II & Reverse Words in a String & Fraction to Recurring Decimal

    1. Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no ...

  8. GT-----FAQ整理

    1.pss0,pss1,这里的序号0和1是什么意思?      说明选的目标调试 App 有至少 2 个进程,先启动的那个进程的 pss 值会被加后缀 0,后启动那个会被加后 缀 1.所有参数前面的“ ...

  9. **极光推送PHP服务器端推送移动设备消息(Jpush V2 api)

    jpush.php  这是推送方法  用到curl发送请求 <?php /** * 极光推送php 服务器端 * @author yalong sun * @Email <syl_ad@1 ...

  10. 求问asp.net mvc发布问题

    正常发布 浏览后如下