`

svn 常用

    博客分类:
  • svn
阅读更多

(0)解决冲突  (分析原因)
[root@host150 svntest]# svn ci  -m  " "  a.php 
正在发送       a.php
传输文件数据.svn: 提交失败(细节见下):====>有冲突 服务器版本为10127 ,而本地版本为10126说明刚才有人已经提交过一个版本
svn: Out of date: '/svntest/a.php' in transaction '12127-1'

[root@host150 svntest]# svn log a.php 
------------------------------------------------------------------------
r12126 | wangxj | 2011-02-12 16:12:17 +0800 (六, 12  2月 2011) | 1 line


------------------------------------------------------------------------
r12125 | wangxj | 2011-02-12 16:02:35 +0800 (六, 12  2月 2011) | 1 line

 
------------------------------------------------------------------------
r12124 | wangxj | 2011-02-12 15:59:27 +0800 (六, 12  2月 2011) | 1 line


------------------------------------------------------------------------
#比较本地版本和仓库中的版本有什么区别
[root@host150 svntest]# svn diff  -r HEAD  a.php 
Index: a.php
===================================================================
--- a.php       (修订版 12127)
+++ a.php       (工作拷贝)
@@ -1,2 +1,2 @@
 
-ida..........................dddadad(=====>svn服务器仓库中的版本)
+idaddadad=============ddadad(===>本地最新的版本)
[root@host150 svntest]# 

例子==>(2)
[root@host150 svntest]# svn ci -m  ""  a.php 
正在发送       a.php
传输文件数据.svn: 提交失败(细节见下):
svn: Out of date: '/svntest/a.php' in transaction '12134-1'
[root@host150 svntest]# svn up
Conflict discovered in 'a.php'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: p
C    a.php
更新至修订版 12134。
Summary of conflicts:
  Text conflicts: 1
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# svn up
于修订版 12134。
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# svn  st  -v 
             12134    12133 wangxj       .
?                                        a.php.r12134
?                                        a.php.r12126
?                                        a.php.mine
             12134    10884 wangxj       trunk
             12134    10884 wangxj       branches
             12134    12124 wangxj       test.php
C            12134    12133 wangxj       a.php
             12134    12124 wangxj       b.php
             12134    10884 wangxj       tags
[root@host150 svntest]# 
[root@host150 svntest]# svn merge  -r 12133:12134  a.php

[root@host150 svntest]# svn  resolved a.php
“a.php”的已解决的冲突状态
(注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的

相关文件,然后让 PATH 可以再次提交。)
[root@host150 svntest]# svn  ci  -m  " "  a.php 
正在发送       a.php
传输文件数据.
提交后的修订版为 12138。


(1) 导入项目
$ cd ~/project
$ mkdir -p svntest/{trunk,branches,tags}
$ svn import svntest https://localhost/test/svntest --message "Start project"

(2) 导出项目 
svn co  svn://192.168.1.125/newipcentrex/exchange --username wangxj --password wangxj123 .
[root@host150 tmp]# svn  co svn://192.168.1.125/newipcentrex/svntest  svntest
A    svntest/trunk
A    svntest/branches
A    svntest/test.php
A    svntest/a.php
A    svntest/b.php
A    svntest/tags
取出修订版 12128。
[root@host150 tmp]# 
[root@host150 tmp]# 
[root@host150 tmp]# 
[root@host150 tmp]# 
[root@host150 tmp]# cd svntest/
[root@host150 svntest]# svn st -v
             12128    12127 wangxj       .
             12128    10884 wangxj       trunk
             12128    10884 wangxj       branches
             12128    12124 wangxj       test.php
             12128    12127 wangxj       a.php
             12128    12124 wangxj       b.php
             12128    10884 wangxj       tags
[root@host150 svntest]#
 备注:第一列表示BASE, 第二列表示COMMITTED
可以看出checkout一个working-copy后,svn会给这个working-copy分一个新的、统一的BASE版本号(如 12128)。
接下来可以修改pi.cpp代码,然后checkin,你就会发现这个文件的BASE和COMMITTED会同时增加,并且相等。如下
[root@host150 svntest]# svn st -v
             12128    12127 wangxj       .
             12128    10884 wangxj       trunk
             12128    10884 wangxj       branches
             12128    12124 wangxj       test.php
             12133    12133 wangxj       a.php
             12128    12124 wangxj       b.php
             12128    10884 wangxj       tags

[root@host150 svntest]#
 接下来在此目录下执行update动作,你就会发现所有文件的BASE都进行了升级,但是COMMITTED没有改变,如下
ost150 svntest]# svn up
于修订版 12133。
[root@host150 svntest]# svn st -v
             12133    12133 wangxj       .
             12133    10884 wangxj       trunk
             12133    10884 wangxj       branches
             12133    12124 wangxj       test.php
             12133    12133 wangxj       a.php
             12133    12124 wangxj       b.php
             12133    10884 wangxj       tags
[root@host150 svntest]# 





(3)查看日志 ============>比较差异
#比较上一次提交的版本和当前提交的版本有什么区别
svn  diff  --revision PREV:COMMITTED  users_controller.php    
svn di -r  PREV:COMMITTED  users_controller.php  
#比较本地文件和版本库中的文件的最新改动
[root@host150 app]# svn diff  --revision  HEAD  controllers/clientrates_controller.php 

例子:
#显示这个文件的所有修改记录,及其版本号的变化
[root@host150 svntest]# svn  log a.php 
------------------------------------------------------------------------
r12127 | wangxj | 2011-02-12 16:26:50 +0800 (六, 12  2月 2011) | 1 line

 
------------------------------------------------------------------------
r12126 | wangxj | 2011-02-12 16:12:17 +0800 (六, 12  2月 2011) | 1 line


------------------------------------------------------------------------
r12125 | wangxj | 2011-02-12 16:02:35 +0800 (六, 12  2月 2011) | 1 line

 
------------------------------------------------------------------------
r12124 | wangxj | 2011-02-12 15:59:27 +0800 (六, 12  2月 2011) | 1 line


------------------------------------------------------------------------比较12126和12127两个版本之间的差异
[root@host150 svntest]# svn  diff a.php 
[root@host150 svntest]# svn  diff  -r 12126:12127   a.php 
Index: a.php
===================================================================
--- a.php       (修订版 12126)
+++ a.php       (修订版 12127)
@@ -1,2 +1,2 @@
 
-idadddadad(===>代表12126版本)
+ida..........................dddadad(====>12127版本)
[root@host150 svntest]# 



(4) 显示log
#显示最后1次修改的LOG
$ svn log --revision HEAD
#显示所有修改的LOG
[root@host150 app]# svn  log --revision  BASE:HEAD 


(5)更新版本
#更新到前面一个版本
[root@host150 controllers]# svn update  --revision   PREV clientrates_controller.php
#更新到1.10的版本
[root@host150 cdrreports]# svn  update --revision {2011-01-10}

将版本库中的文件test.php还原到版本200
svn update -r 200 test.php

(6)(显示文件和子目录状态)
[root@host150 svntest]# svn  st -v 
             12125    12125 wangxj       .
             12125    10884 wangxj       trunk
             12125    10884 wangxj       branches
             12125    12124 wangxj       test.php
             12126    12126 wangxj       a.php
             12125    12124 wangxj       b.php
             12125    10884 wangxj       tags
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

(7)添加文件
#svn add *.php(添加当前目录下所有的php文件)
#注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

(8)删除文件
[root@host150 models]# svn del jurisdiction_prefix.php
[root@host150 models]# svn ci -m " "

svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

(2)
svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

(9)查看文件详细信息

[root@host150 svntest]# svn  info a.php 
路径:a.php
文件名:a.php
地址(URL):svn://192.168.1.125/newipcentrex/svntest/a.php
Repository Root: svn://192.168.1.125/newipcentrex
档案库 UUID:c004b24f-da91-4a55-83d2-5bfd46da7693
修订版:12125
节点种类:文件
调度:正常
最后修改的作者:wangxj
最后修改的修订版:12125
最后修改的时间: 2011-02-12 16:02:35 +0800 (六, 12  2月 2011)
文本最后更新: 2011-02-12 16:19:31 +0800 (六, 12  2月 2011)
校验和:32247a4a24368c64ea5d56cabcb5c8d7

(10) 加锁/解锁

[root@host150 svntest]# svn lock -m  " "  a.php 
“a.php”被用户“wangxj”锁定。
[root@host150 svntest]# 
[root@host150 svntest]# 
[root@host150 svntest]# svn unlock  a.php 
“a.php”被解除锁定。
[root@host150 svntest]# 


6.合并冲突
svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
分享到:
评论

相关推荐

    SVN常用操作----查看代码提交以及改动记录方法

    **SVN常用操作——查看代码提交及改动记录方法** 在软件开发过程中,版本控制系统如Subversion(SVN)是团队协作的重要工具。它允许开发者跟踪和管理代码的修改历史,以便于协同工作、回溯错误并理解代码的发展过程...

    SVN常用命令集合及简单用法

    SVN常用命令集合及简单用法 SVN(Subversion)是一种版本控制系统,用于管理代码、文档、图片等文件的版本变更。下面是常用的 SVN 命令集合及简单用法: 1. 检出文件:svn checkout path(path 是服务器上的目录)...

    linux下SVN常用命令

    ### Linux下SVN常用命令详解 #### 一、SVN Checkout **命令格式:** ```shell svn checkout [URL] [本地路径] ``` **功能介绍:** 此命令用于将远程版本库中的某个目录或文件检出到本地,创建一个工作副本。 **示例...

    svn command,svn常用指令

    ### SVN 常用命令详解 #### 一、SVN简介 Subversion(简称SVN)是一种开源的版本控制系统,用于管理源代码或文件。它能够帮助开发团队追踪每个文件和目录的历史更改,并且可以回溯到任何指定的时间点。 #### 二、...

    SVN常用功能详细说明

    ### SVN常用功能详解 #### 一、TortoiseSVN图标含义 在使用TortoiseSVN的过程中,图标是理解文件或目录状态的关键。不同颜色和形状的图标代表了文件的不同状态,例如: - **绿色勾**:表示文件或目录与SVN仓库中...

    svn常用基本操作教程

    初始化版本库有两种常用的方式: 3.2.1. 直接“导入Import…”对要执行导入操作得项目文件夹进行如下清理: 1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、二进制文件等。) 2. 把...

    SVN常用命令(使用频率最高的)

    **SVN常用命令详解** 版本控制系统Subversion(简称SVN)是软件开发中不可或缺的工具,它用于管理和跟踪代码的变化,使得多人协作开发变得井然有序。以下是一些使用频率最高的SVN命令,确保你能快速上手并有效地...

    svn常用Linux操作命令.txt

    svn常用Linux操作命令 svn常用Linux操作命令 svn常用Linux操作命令

    SVN常用操作命令

    ### SVN常用操作命令详解 #### 1、将文件CHECKOUT到本地目录 - **命令**: `svn checkout <路径>` (其中 `<路径>` 是服务器上的目录) - **示例**: `svn checkout svn://192.168.1.1/pro/domain` - **简写**: `svn co...

    Linux下svn常用命令

    ### Linux 下 SVN 常用命令详解 #### 一、检查出版本库 (Checkout) **命令格式:** ``` svn checkout [URL] [工作拷贝目录] ``` **示例:** ``` svn checkout svn://192.168.0.150/edp ``` **说明:** 此命令用于从...

    linux下svn的配置及svn常用命令

    linux下svn的配置及svn常用命令

    SVN常用命令行

    ### SVN(Subversion)常用命令详解 #### 一、SVN简介 SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪软件开发过程中的文件变更。它通过维护一个中心版本库来保存项目的各个版本历史,使开发者...

    svn常用命令的使用

    讲述svn常用命令,svn命令 通常都有帮助,如果你不知道命令怎么用,可以很方便获取帮助信息。

    Eclipse和svn常用设置及配置大全

    Eclipse和svn常用设置及配置大全主要包括:1.Eclipse 启动参数设置 2.Eclipse 常用快捷键大全 3.Eclipse 颜色设置 4.SVN入门及配置使用 5.Windows下Subversion配置管理员指南 6.SVN服务器配置详解 另外里面还有一个...

    svn 常用命令 doc

    以下是一些svn的常用命令,这些命令在日常开发和项目协作中非常关键。 1. **初始化 SVN 仓库**: - `svnadmin create <repository_path>`:创建一个新的SVN仓库。 2. **安装客户端并配置**: - 配置SVN客户端...

    获取svn最新版本号示例 以及svn常用命令

    本文将深入探讨如何获取svn的最新版本号,并介绍一些常用的svn命令。 首先,获取svn的最新版本号通常是为了确保你正在使用的代码是最新的,避免因版本过旧而遇到已解决的问题或错过新功能。有几种方法可以获取: 1...

    svn常用的命令行语句

    对svn相关常用语句进行罗列 清晰明了

    SVN常用命令

    ### SVN常用命令详解 #### 一、SVN子命令 ##### 1、svn help - **功能**: 显示SVN命令的帮助信息。 - **语法**: `svn help [subcommand]` - **说明**: 可以单独使用`svn help`查看所有SVN命令的帮助列表,或者使用...

    svn.rar_svn常用命令

    本文将详细介绍SVN的常用命令,帮助你更好地理解和运用这个工具。 1. **初始化仓库(svnadmin)** 在开始使用SVN之前,需要创建一个版本库。`svnadmin create <repository>` 命令用于在指定位置创建一个新的SVN...

    svn常用命令介绍

    在使用SVN进行项目管理时,掌握一些常用的SVN命令是非常必要的。以下是一些核心的SVN命令及其详细解释: 1. **初始化仓库(svnadmin create)**: 在一个新的目录下创建一个SVN仓库,这将生成一个包含所有必需文件...

Global site tag (gtag.js) - Google Analytics