svn常用命令详解

svn常用命令详解
svn常用命令详解

一.SVN导出(check out 和export的区别)

1.check out跟check in对应,export跟import对应;

2.check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关

联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。

3.export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行

Update和Commit操作。导出文件夹下没有.svn目录。

二.linux下svn命令大全

1、将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

2、往版本库中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add*.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m “LogMessage“[-N][--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“test.php

简写:svn ci

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 or 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]

更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将

服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。

(2)、switch –relocate FROM TO [PATH...]

改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

17、解决冲突

svn resolved:移除工作副本的目录或文件的“冲突”状态。

用法: resolved PATH…

注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的

相关文件,然后让PATH 可以再次提交。

18、输出指定文件或URL的内容。

svn cat目标[@版本]…如果指定了版本,将从指定的版本开始查找。

svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

19.svn 恢复到历史版本

svn up -r 历史版本号filepath,得到A

将A改名为C

svn up,恢复到最新,得到A

删掉A

将C改为A

将A提交(ci)

TortoiseSVN使用说明书(超详细)

一、TortoiseSVN客户端的安装 1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端 中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包 (客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令) 2. 中文语言包的安装如下:

二、Subversion基本工作流程 这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。 1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。 检出到本地: 初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图: 如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。 如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。 在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记) 在信息框中为修改的文件添加说明信息。如下图 在变更列表中选中更变的文件。如下图

点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本: 如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。这时你可以更新自己本地的版本为第7版本。

svn命令大全

svn命令通常都有帮助,可通过如下方式查询: $ svn help 知道了子命令,但是不知道子命令的用法,还可以查询: $ svn help add 开发人员常用命令 (1) 导入项目 $ cd ~/project $ mkdir -p svntest/{trunk,branches,tags} $ svn import svntest https://localhost/test/svntest --message "Start project" ... $ rm -rf svntest 我们新建一个项目svntest,在该项目下新建三个子目录:trunk,开发主干;branches,开发分支;tags,开发阶段性标签。然后导入到版本库test下,然后把svntest拿掉。 (2) 导出项目 $ svn checkout https://localhost/test/svntest/trunk 修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考svn推荐书。 $ svn diff --revision PREV:COMMITTED foo.c # shows the last change committed to foo.c $ svn log --revision HEAD # shows log message for the latest repository commit $ svn diff --revision HEAD # compares your working file (with local changes) to the latest version # in the repository $ svn diff --revision BASE:HEAD foo.c # compares your “pristine” foo.c (no local changes) with the # latest version in the repository

使用SVN命令行工具

使用SVN命令行工具 如果你不知道命令怎么用svn命令,可通过如下方式查询:svn help知道了子命令,但是不知道子命令的用法,还可以查询:svn help ci 开发人员常用命令导入项目svn import https://www.360docs.net/doc/2c2728133.html,:82/pthread --message "Start project"导出项目svn checkout https://www.360docs.net/doc/2c2728133.html,:82/pthread采用export 的方式来导出一份“干净”的项目svn export https://www.360docs.net/doc/2c2728133.html,:82/pthread pthread为失败的事务清场svn cleanup在本地进行代码修改,检查修改状态svn status -vsvn diff更新(update)服务器数据到本地svn update directorysvn update file增加(add)本地数据到服务器svn add file.csvn add dir对文件进行改名和删除svn mv b.c bb.csvn rm d.c提交(commit)本地文档到服务器svn commitsvn cisvn ci -m "commit"查看日志svn log directorysvn log file相关的一些东西:1、在本地文件中,每个目录下都有一个.svn文件夹(属性为隐藏),保存了相关的信息。2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvim.exe",结果在svn ci的时候,出现错误:'E:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。svn: 提交失败(细节如下):svn:

SVN使用手册大全(史上最全)

目录 1.修改SVN访问密码 (1) 2.SVN客户端使用说明 (2) 2.1.安装SVN客户端 (2) 2.2.迁出配置库内容 (3) 2.3.维护工作文件 (4) 2.3.1.增加文件 (4) 2.3.2.更新文件 (8) 2.3.3.删除文件 (9) 2.3.4.修改文件 (10) 2.3.5.比较版本差异 (10) 2.3.6.撤销更改 (13) 2.3.7.锁定和解锁 (13) 2.3.8.重命名文件 (14) 2.3.9.获取历史文件 (14) 2.3.10.检查冲突 (15) 2.3.11.解决冲突 (16) 2.3.12.忽略无需版本控制的文件 (16) 2.3.13.去除SVN标志 (17) 2.3.14.查看文件每行的修改信息 (17) 2.3.15.重置访问路径 (18) 2.3.16.本地路径转换 (18) 2.4.浏览版本库 (18) 2.5.建立标签 (19) 2.6.建立分支 (19) 2.7.清除用户名等信息 (20) 2.8.统计信息 (21) 3.MYECLIPSE集成SVN (23) 3.1.安装SVN插件 (23) 3.2.配置M Y E CLIPSE提交目录 (28)

1. 修改SVN访问密码 打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示: 点击“登陆”按钮进入登陆界面,如下图所示: 输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示: 点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:

SVN命令使用手册

SVN命令使用手册修改版本记录 M:修改A:添加D:删除

SVN命令使用 一、常用命令 1.Svnadmin create创建库 svnadmin create path 在windows版本上: D:\>svnadmin create test2 D:\> 通过dir来列出目录中文件,已经包含test2,如图1所示: 图1 说明此时已经成功建立 2.Svn import导入项目 svn import project_path svn_lib_path -m “comment” 举例: 假设有一个工程名称unismg,代码的文件目录是unicom; A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示: 图2

trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。 B、我们将代码unicom放到d:\unismg\trunk\中 C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示: 图3 这样我们就将工程代码导入svn库中管理。此时删除D:\>unismg目录也没有关系,因为你的源代码已经在SVN库中管理了。 有人会有疑问,为什么我到test2目录中去找*.c文件怎么一个没有找到啊,是的SVN 管理代码,并不是简单的保存文件,而是利用bdb管理的,所以你看不到源码存在。 之后你可以使用后续的命令来工作了。 多说一句,关于svn_lib_path的几种形式: file:///直接版本访问(本地磁盘) http://通过配置subversion的Apache服务器的WebDAV协议 https://与http://相似,只不过增加了ssh协议 Svn://通过svnserver服务自定义的协议 Svn+ssh://与svn://相似,但是通过SSH协议封装 比如,联通在信网关在30.251linux服务器上,使用的是svnserver服务自定义的协议,那么,导入工程代码时应采用的命令是: svn import $path/proj/unismg svn://192.168.30.251:3482-m "initial import unismg" 3.Svn co: 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 举例: svn co svn://192.168.30.251:3482/trunk/unicom 下面信息就是从库中下载的代码信息。

SVN-日常使用指南-200801

文档规则 [本地工作区] :work copy,本地工作副本; [主项目]:引用共用模块的新项目(工程) 最新版本(HEAD revision):版本库里文件或目录的最新版本 SA :SVN服务器的管理员 PRA :单个项目库的管理员,或者是项目负责人 User :普通工作人员 WC :work copy ,本地工作副本 1.版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 建议的开发过程组织: 1.随行就市 项目刚开始阶段,单独开发;项目稳定阶段,完整开发。项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间 的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天 的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要 针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地 工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整 体能够顺利运行。 2.能躲就躲 尽量保证一份文件只有一个项目成员在编辑。举例说明:程序员A 负责底层中文件DBAccess.cs的编写,如果程序员B的工作要求他为 DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是 自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地 的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本 地的文件,通过缩短提交间隔来减少冲突。

svn常用命令详解

一.SVN导出(check out 和export的区别) 1.check out跟check in对应,export跟import对应; 2.check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关 联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。 3.export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行 Update和Commit操作。导出文件夹下没有.svn目录。 二.linux下svn命令大全 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“[-N][--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“test.php 简写:svn ci 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 常见报错

常见错误提示: 1:?.? is not a working copy. Can?t open file ….svn/entries?:系统找不到指定的路径。 原因是输入的访问路径不正确,如svn://192.168.6.200/如果最后少写了“/”,就会出现这种错误提示。 2:将文件checkout之后,没有出现SVN的图标,是怎么回事? 有些时候在客户端Checkout文件后,SVN的系统图标也会不显示,可以执行一下“Clean up”,就会出现SVN的系统图标。 3:为什么添加的文件,别人看不到,版本库里也没有? 最可能的原因是,你只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。删除文件也是一样。 4 :“Commit failed。……You have to update your working copy first”提交失败,需要首先执行更新操作。多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:对工作复本中的文件进行更新即可。 5. 更新时提示文件发生冲突:“One or more files are not a conflicted state。” 多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。 6.“Commit failed;File already exists”提交失败,文件**已存在。 版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。 7:执行clean up时,出现错误“Subversion reported an error while doing a cleanup!” '**' is not a working copy directory ” 遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行clean up。 8:因为仓库与目录很多,使用TSVN每次选择目录URL of repository有很多地址,如何才清除呢?像清除浏览器中的历史那样,用什么方法呢? 右键->TortoiseSVN->Settings->Saved Data,就可以清除你想要的东西了,包括URL、log、窗口大小、密码缓存等。 9:在SVN中选中一个目录show log时,出现了某些版本只显示版本号和(no date),没有其他信息,什么原因引起的? 出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。

SVN常用命令(WINDOWS)

SVN常用命令(windows) 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn addtest.php(添加test.php) svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit-m“LogMessage“[-N][--no-unlock]PATH(如果选择了保持锁,就使 用–no-unlock开关) 例如:svn commit-m“add test file for my test“test.php 简写:svn ci 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-r200test.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)

svn基本操作试题及答案

《SVN基本操作》试题 (说明:本卷满分100分,考试时间30分钟,考试方式闭卷) 所在部门:______________姓名:___________得分:________ 一、填空题(每空格5分,共20分) 当发生提交冲突的时候,可使用SVN的DIFF来进行两个版本文件的比较,为保证解决冲突,合并版本的时候,不会删除前版本的内容,建议使用手工解决冲突,而不是使用svn的Merge自动进行版本合并!发生冲突的时候,应知会前版本提交人,一起解决冲突,合并版本! 二、选择题(每题2分,共30分) 1.在空白处,单击右键,选择“TortoiseSVN”(A)便可以进入SVN版本库浏览器。 A、Repo-browser B、Createrepositoryhere C、Settings D、Import 2.在URL中输入访问路径后,会弹出Authentication对话框,在对话框中输入用户名和密码,点击(B)可保存用户名和密码。 A、Authenticationdata B、SaveAuthentication C、Settings D、SavedData 3.如果想要清除服务器上的所有认证缓存,可以通过TortoiseSVN Settings(设置)对话框中的SavedData(A),按clear或者clearall按钮即可清空。 A、Authenticationdata B、SaveAuthentication C、URLhistory D、Logmessages 4.绿色的对勾标记代表(A),红色的感叹号标记代表(D),蓝色的加号代表(B)。 A、工作副本状态正常 B、文件已被计划加入版本控制 C、提交过程中出现冲突 D、工作副本已修改 5.把本地的文件夹下的文件添加到服务器上的某个目录下面,那么在本地的目录右键TortoiseSVN(A)进行。 A、Import B、Createrepositoryhere C、Settings D、Export 6.在SVN版本库浏览器内,选好目录,于空白处右键选择(B)添加文件、选择(C)添加文件夹。 A、createfolder B、Addfile C、Addfolder D、Export 7.在本地计算机硬盘新建的空白文件夹内,右键选择(A)可以从SVN服务器下载受版本控制的文件。

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解 1、Checkout 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。Checkout的具体方式是: 在客户端新建一个空目录,比如:F:\Project1 (确保是空的) 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后按要求录入内容: 然后点OK,会弹出一个认证对话框, 输入用户名和密码。

点OK后就完成了对Repository的Checkout。 检出后,所有检出文件上都打着绿色对勾: 命令方式检出 1:在DOS命令中输入需要检出的目录: http://192.168.1.210:8081/svn/svnproject/Knowledge 2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:

2、update 获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。 这时WC中的文件就是最新的版本了。 3、commit commit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。 只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。commit页面:

注意:commit的时候,最好填写Log信息, Log内容包括:修改了哪些东西及为什么做这些修改(what+why) 强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交. 设置录入log最小长度页面:

svn详细使用教程-超经典

svn详细使用教程-超全面 TortoiseSVN是一个SVN的客户端,SVN客户端的使用 1.Checkout Repository 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。 这个Checkout和Visual Source Safe的Checkout意义完全不一样, VSS的Checkout指的是锁定某个文件,如果你以前使用过VSS, 在学习Subversion时这个问题一定要注意。 Checkout的具体方式是: 在客户端新建一个空目录,比如:F:\Project1 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后在“URL of Repository”文本框中填入你想要连接的Repository的地址, 这个URL地址可以用浏览方式加入。 对于在本教程第二节建立的Repository, URL应该是“svn://xxx/project1” (xxx可以是服务器端主机名,也可以是服务器端的ip地址)。 然后点OK,会弹出一个认证对话框, 输入在教程第三节设置的用户名和密码。 点OK后就完成了对Repository的Checkout。 比如:在服务器端Repository中有一个a.txt文件, 那么Checkout之后F:\Project1目录下也会出现一个a.txt文件。 在本例中由于服务器端的Repository还未添加任何文件, 所以在客户端的F:\Project1下没有文件被Checkout。 执行Checkout除了会在F:\Project1产生Repository存储的文件及目录外, 还会产生了一个“.svn”的隐含目录,该目录是由subversion管理的, 不要删除或者手工改动其中的文件和目录。 现在F:\Project1中的文件和目录就叫做Repository的“Working Copy”简写“WC”(这个简写...汗)。 以后对Repository中文件和目录的修改,添加,删除的操作, 都是通过对这个“Working Copy”的操作实现的。 Checkout执行完后, 会发现F:\Project1目录的图标的左下角附着了一个小的状态图标 (当F:\Project1目录中的文件改变时,这个状态图标也会随之变化), 它表示F:\Project1是一个Repository的“Working Copy”, F:\Project1内的所有文件和目录也会有类似的状态图标。 2.添加文件 将要添加的文件或者目录拷贝到F:\Project1下, 然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。 如果添加了不止一个文件或目录, 则鼠标不要在F:\Project1中点中任何文件, 然后单击右键,TortoiseSVN->Add, 就可以添加多个文件或目录。

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

SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。右图是一个svn的工作流程,它可以很方便用户的代码编写。 1.首先安装SVN:”sudo apt-get install subversion”. 查看svn的版本和确定是否安装成功:”svnserve –version”. 2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。这里说明一下:版本库之间是独立的。(下图为msm的目录) 3.增加用户 修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,列子如下 用户组格式: [groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。版本库目录格式: [<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>, 其中,方框号内部分可以有多种写法: /,表示根目录(仓储目录)及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。 下图是我增加的用户组:(注意:等号后留有空格) 增加后:

SVN使用和SVN常用命令

Svnserve –d –r 路径名+文件名 Svn://IP SVN使用和SVN常用命令 之前比较少接触linux,今天参考网上的资料实践了一下如何建立svn仓库,包括简单的授权设置。 假设要建立一个svn项目:new_project 一、创建svn仓库 去到svn服务的根目录,(这个目录是在启动svn服务的时候指定的,启动的命令如:svnserve -d -r /usr/local/svnrepos)执行创建仓库命令: svnadmin create new_project 这样在/usr/local/svnrepos/ 里面就多了一个new_project目录出来,进入new_project/conf/ 目录 vi svnserve.conf 将下面几行的注释去掉 [general] anon-access = read #匿名的用户可读 auth_access = write #有授权的用户可写 password-db = passwd #表示svn用户的授权资料保存在passwd文件里面 在conf/目录里面vi passwd,添加授权资料。格式如下: [user] your_name = your_password 二、导入源码 (导入源码的过程不一定要按照下面说的来做,关于svn目录管理其实可以很灵活,适合自己就行) 现在先准备一个临时文件夹,用来构建仓库中的基本目录结构: mkdir temp mkdir temp/trunk mkdir temp/tags mkdir temp/branches

这时可以将temp目录导入的仓库中: svn import temp svn://localhost/new_project -m 'initial' 如果new_project已经开发到一定程度,我们只需要将源码导入到仓库中的trunk就行了。 假设源码的根目录是~/new_project 进入~目录,把源码导入到trunk中: svn import new_project svn://localhost/new_project/trunk -m 'initial again' ====================================================================== ========= 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“[-N] [–no-unlock] PA TH(如果选择了保持锁,就使用–no-unlock开关) 例如:svn commit -m “add test file for my test“test.php 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage“ [–force] PATH

IDL常用命令

Slice 2D probe = '1' level = 'l2' species = 'hplus' data_rate = 'srvy' name = 'mms'+probe+'_hpca_'+species+'_phase_space_density' timespan, '2015-10-16/13:06:00', 1, /min ;time range to load trange = timerange() time = trange[0] ;slice time ;load data into tplot mms_load_hpca, probes=probe, trange=trange, data_rate=data_rate, level=level, datatype='ion' ;reformat data from tplot variables into compatible 3D structures dist = mms_get_dist(name) ;get single distribution ; -3d/2d interpolation show smooth contours ; -3d interpolates entire volume ; -2d interpolates projection of a subset of data near the slice plane ; -geometric interpolation is slow but shows bin boundaries ;--------------------------------------------- slice = spd_slice2d(dist, time=time) ;3D interpolation ;slice = spd_slice2d(dist, time=time, /two) ;2D interpolation ;slice = spd_slice2d(dist, time=time, /geo) ;geometric interpolation ;average all data in specified time window ;slice = spd_slice2d(dist, time=time, /geo, window=20) ; window (sec) starts at TIME ;slice = spd_slice2d(dist, time=time, /geo, window=20, /center_time) ; window centered on TIME ;average specific number of distributions (uses N closest to specified time) ;slice = spd_slice2d(dist, time=time, /geo, samples=3) ;plot spd_slice2d_plot, slice stop

svn常用命令总结

SVN命令总结 1.检出 svn co http://路径(目录或文件的全路径) [本地目录全路径] 2.导出(导出一个干净的不带.svn文件夹的目录树) svn export http://路径(目录或文件的全路径) [本地目录全路径] 也可指定要导出的版本号:svn export [-r 版本号] 3.添加新文件 svn add 文件名 注:告诉SVN服务器要添加文件了,还要用svn commit -m真实的上传上去! 4.提交 svn commit -m “提交备注信息文本”文件名 svn ci -m “提交备注信息文本”文件名 必须带上-m参数,参数可以为空,但是必须写上-m 5.更新文件 svn update svn update -r 修正版本文件名 svn update 文件名 6.删除文件 svn delete 文件名 svn ci -m “删除备注信息文本” 7.加锁/解锁 svn lock -m “加锁备注信息文本”[--force] 文件名 svn unlock 文件名

8.比较差异 svn diff 文件名 svn diff -r 修正版本号m:修正版本号n 文件名 9.将两个版本之间的差异合并到当前文件 svn merge -r m:n path 10.查看文件或者目录状态 svn st 目录路径/名 svn status 目录路径/名 目录下的文件和子目录的状态,正常状态不显示: 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 11.查看日志 svn log 文件名 svn log ./ | more 查看多条记录 -->按空格键即可显示 12.查看文件详细信息 svn info 文件名 13.svn 帮助 svn help <-全部功能选项 svn help ci <-具体功能的说明 14.递归提交一个路径的拷贝到版本库 svn import [PATH] URL 15.清除锁定 svn cleanup

SVN日常使用说明

1.版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 2.各阶段中svn的使用方法介绍 2.1.初始化版本库 初始化版本库有两种常用的方式: 2.1.1.直接“导入Import…”(目前,OSSP版本已经导入 到版本库,项目组成员无需做此操作) 对要执行导入操作得项目文件夹进行如下清理: 1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、二进制文件等。) 2. 把文件夹和子文件夹中的所有文件整理一遍。虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。 在资源管理器(windows explorer)中选择项目(本地硬盘上)的根文件夹,单击鼠标右键,选择导入Import…命令,跳出一个对话框:

在这个对话框中你需要填写你要将项目导入仓库的URL地址(svn必须小写)。导入信息(Important Message)是用来记录日志信息的。注意:与“忽略样式exclude pattern”匹配的文件或文件夹不会被导入,除非选择了“包含忽略的文件”选项。 按下“确定”按钮后,TortoiseSVN就开始把整个文件夹树(包括所有文件)导入到仓库。用来做“导入Import”操作的这个文件夹的名字不会出现在仓库中,只有文件夹中的内容会出现。注意:刚才用来做“导入Import”操作的这个文件夹并没有处于版本控制下!要获取一份处于版本控制之下的[本地工作区]副本,你需要对刚导入的版本做一次“检出Checkout”操作。 2.1.2.“检出Checkout”—>“提交Commit” 新建一个空文件夹作为[本地工作区]的存放文件夹(建议与项目同名),在文件夹上(或者文件夹里)单击鼠标右键后在命令菜单中选择“检出Checkout…”,出现操作窗口。注意:只能检出Checkout到一个空文件夹。

linux下常用的svn操作

1:checkout命令: 从svn版本库中取代码时可以先查看具体代码的路径,windows下右键单击Tortoise->repo_browser 可直接查看,linux下可以输入命令:svn list 版本库地址如图: Checkout时命令是:Svn checkout 版本库地址如图: 注意在目前的svn版本中必须checkout一个文件夹下来,只checkout单个文件会提示失败。如图: 若想查看svn上某个具体文件,从而决定是否要checkout当前版本下来,可以执行命令:svn cat 文件在版本库上的地址。 下载好代码后可以通过执行ll –a 命令查看文件信息,可以看到在下载好的文件夹下有一个.svn 文件夹,该文件夹是用来维护工作拷贝信息的,保证拥有该文件夹的读写权限,就可以对下载的代码进行commit等一系列操作。如图: 2:commit命令: 将本地的修改工作拷贝上传到svn 服务器中,保证版本库的一致 具体命令是:svn commit 要上传的文件路径–m “日志信息”如图: 日志信息可以为空。注意提交时需将该文件更新,在上传,否则出错。若当前上传的文件不是从svn上checkout下来的文件,会提示不是工作副本,无法上传。 3:import 命令: 将本地代码上传到版本库中 进入到需要上传代码的目录,执行命令: Svn import 想要上传到svn的路径-m “上传的日志信息”–no-ignore 如图: 注意上传时需添加日志选项-m ,可以为空,并且需要添加选项—no-ignore

因为svn上传时会默认屏蔽掉so .o 等文件,导致上传上去的代码不完整,若上传一半出错提示某些文件无法识别,最好将该文件的父文件夹打包上传,就可以成功传上去了。 4:log 命令 查看svn版本库的日志信息,具体命令是: Svn log 查看日志信息的文件名 如图: 5:update命令: 将当前文件更新到版本库上某个具体版本文件 具体命令是: Svn update –r 要更新的版本号文件路径如图: 6:add 命令: 往版本库中添加新的文件 add 功能:向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。简单的说就是将一新文件加入svn,你添加再提交后该文件就进入subversion版本中去了。 具体命令是: Svn add 文件名如图: 在当前的工作拷贝WEB_3G 文件夹中添加新文件text.html 然后将该文件add到版本库中 注意此时版本库中海没有新添加的文件text.html ,该文件会在下次提交时被放置到版本库中,如图:

svn基本操作手册

SVN操作手册 该操作手册简略地介绍一些日常使用操作,如需要更详细的说明文档可以访问网址https://www.360docs.net/doc/2c2728133.html,/tsvndoc/。 一、登陆 1、打开资源管理器,在任意的目录下点击右键,在弹出的右键菜单里选择TortoiseSVN,选择版本库浏览器,将会弹出URL的窗口。 2、在URL编辑栏中输入SVN server的路径,例如:http://10.142.49.232/svn/test SVN可以通过多种方式访问——本地磁盘访问,或各种各样不同的网络协议,但是一个版 3、当输入步骤2 的url后,会弹出用户认证对话框,输入用户名和密码就可以登陆了。 登陆成功后会显示如图1所示的操作界面——版本库浏览器。 图1

二、导入项目 方法一: 1、在版本库浏览器窗口中,选择根目录,单击右键显示图2所示的菜单。 图2 2、选择加入文件夹,弹出文件浏览器窗口,选中要导入的项目所在文件夹,并确定。 3、步骤2 将弹出该操作的日志窗口,如图3 所示。点击确定,即可完成导入。 图 3 方法二: 选中导入的文件夹,单击右键,选择TortoiseSVN,在弹出的子菜单选中导入(I)… , 会弹出如图4所示的窗口。输入导入项目的目的地的URL和导入信息(用于日志消息,可不填写),然后点击确定就成功导入。 注意事项: 1、导入项目之前,必须先移除不是项目所必须的文件(由编译器所产生的临时文件,如*.obj,*.class等等。 2、先整理下文件夹和子文件夹里的文件,尽管可以在导入后重命名/删除文件,但是建

议在导入项目之前先将文件结构整理清楚。 3、导入的资料不包括选中的文件夹,而是该文件夹里面的资料。 4、如果选中的文件夹其子文件夹里面没有文件,则该子文件夹也不能被导入。 图 4 三、导出项目 1、登入版本库浏览器,选择要导出的项目。 2、右键选中“导出”,弹出如图所示的对话框。 图5 3、选择要导出的目录,并确定,即可完成导出。

相关文档
最新文档